検索
ホームページウェブフロントエンドフロントエンドQ&Avue のコンポーネント化とモジュール化の違いは何ですか

コンポーネント化とモジュール化の違い: モジュール化はコード ロジックの観点から分割され、コードの階層化された開発が容易になり、各機能モジュールの機能が一貫していることが保証されます。コンポーネント化は UI インターフェイスの観点から計画され、フロントエンドのコンポーネント化により UI コンポーネントの再利用が容易になります。

vue のコンポーネント化とモジュール化の違いは何ですか

#このチュートリアルの動作環境: Windows7 システム、vue3 バージョン、DELL G3 コンピューター。

モジュール性の起源

Web 開発の初期の頃、js は、単純なフォーム検証やアニメーションの実装を行うためのスクリプト言語として使用されていました。少量のコードです。スクリプト タグに記述するだけです。

Ajax 非同期リクエストの出現により、フロントエンドとバックエンドの分離が徐々に形成されてきました。クライアントはますます多くのことを完了する必要があります。コード量も増えてます。。コード量の急激な増加に対応するため、通常はコードを複数の js ファイルにまとめてメンテナンスします

しかし、同じ名前のグローバル変数の問題など、いくつかの問題が発生します

関数クロージャを使用する パッケージは変数の競合の問題を解決できますが、他のファイルで定義された変数は使用できません。

モジュール化には、エクスポートとインポートの 2 つのコアがあります。

es6 モジュラー開発について学ぶ Bar

キーワード エクスポート (エクスポート) インポート (インポート)

たとえば、ajax を送信するモジュールをカプセル化します

vue のコンポーネント化とモジュール化の違いは何ですか

場合によっては、モジュールに特定の関数が含まれています。この関数に名前を付けたくありません。インポーターが自分で名前を付けます。

エクスポートのデフォルトを使用できます

export default address
//只能默认一个

import jjj from "./aaa.js"
//可以自己命名,不要加{}

//导入 import

モジュール性を使用する理由モジュール化を使用する利点

もちろん、モジュール開発を使用しなくてもページのすべての機能を実現できますが、サーバー リクエストへの負荷が増大し、ユーザー エクスペリエンスが低下します。ページのニーズ データが多すぎる場合、1 つのリクエストにリクエストされたすべてのデータが含まれますが、ユーザーがそれを必要としない場合はどうなりますか?そのような要求はまだ有効ですか?もちろん効果はありませんので、このような問題はモジュール開発の考え方を使うことで解決できます

モジュール開発を使用する利点について簡単に説明します

1. 明確な組織とメンテナンスが簡単

2. すべてのデータが一度に要求されず、ユーザー エクスペリエンスが良好です

3. モジュールは相互に分離されていますが、内部メンバーは特定のインターフェイスを通じて公開できますまたは他の人に頼ることもできます。 モジュール

コンポーネント化とモジュール化の比較

コンポーネント化とモジュール化を 1 つのものとして理解している人が多く、もちろん、多くの点で似ていますが、以下の類似点を見てみましょう。

1. コンポーネント化は、独立した再利用可能なコード組織単位です。コンポーネント システムは Vue の中核機能の 1 つであり、開発者は、独立した、再利用可能な小さなコンポーネントを使用して大規模なアプリケーションを構築できます。[関連する推奨事項:

vuejs 入門チュートリアルWeb フロントエンド ]

2. コンポーネント開発により、アプリケーション開発の効率、テスト容易性、再利用性などが大幅に向上します;

3. コンポーネントの使用法は、ページ コンポーネント、ビジネス コンポーネント、および一般コンポーネントに分類されます. ;

4. Vue コンポーネントは構成に基づいています。私たちが通常作成するコンポーネントは、コンポーネントではなくコンポーネント構成です。その後、フレームワークによってコンストラクターが生成されます。それらは VueComponent に基づいており、Vue を拡張しています。

5. Vue の一般的なコンポーネント化テクノロジには、主にコンポーネントの通信、拡張などに使用される属性プロップ、カスタム イベント、スロットなどが含まれます;

6. コンポーネントの合理的な分割はアプリケーションの改善に役立ちますパフォーマンス ;

7. コンポーネントは結合性が高く、結合度が低い必要があります;

8. 一方向のデータ フローの原則に従います。

コンポーネント化とモジュール化の違い:

モジュール化: コード ロジックの観点から分割され、コードの階層的な開発が容易になります。各機能モジュールが単一の機能を持つようにする


#コンポーネント化: UI インターフェイスの観点から分割され、フロントエンドのコンポーネント化により UI コンポーネントの再利用が容易になります

グローバル コンポーネントを定義する 3 つの方法最初の方法

 <div>
        <!-- 如果要使用组件,直接把组件的名称,以HTML标签形式,引入到页面中即可 -->
    <mycom1></mycom1>
    </div>
<script>
        var com1 = Vue.extend({
        template:&#39;<h3>使用Vue.extend 来创建全局的Vue组件&#39;
        })
        //1,使用Vue.component(&#39;组件名&#39;,创建出来的组件模板对象)
        Vue.component(&#39;mycom1&#39;,com1)
 </script>

2 番目の方法

<script>
Vue.component(&#39;mycom2&#39;,{template:&#39;<div><h3 id="使用Vue-component-nbsp-创建出来的组件">使用Vue.component 创建出来的组件</h3>s<span>template</span></div>&#39;
        })
</script>

3 番目の方法 Kind

<templat id="temp">
 <div>
   <h1 id="通过templat元素-在外部定义的组件结构-这个方式-有代码的智能提示和高亮">通过templat元素,在外部定义的组件结构,这个方式,有代码的智能提示和高亮</h1>
   <h4 id="好用-不错">好用,不错</h4>
  </div>
</templat>
<script>
 Vue.component(&#39;mycom2&#39;,{
            template:&#39;temp&#39;
        })
</script>

注: コンポーネントがどの方法で作成されたとしても、コンポーネントの template 属性が指すテンプレート コンテンツにはルート要素が 1 つだけ必要であり、持つこともできます。

3 番目の方法は、仕事プロジェクトの開発に使用するのが最適です。

[関連する推奨事項:

vuejs ビデオ チュートリアル

]

以上がvue のコンポーネント化とモジュール化の違いは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
5个常见的JavaScript内存错误5个常见的JavaScript内存错误Aug 25, 2022 am 10:27 AM

JavaScript 不提供任何内存管理操作。相反,内存由 JavaScript VM 通过内存回收过程管理,该过程称为垃圾收集。

实战:vscode中开发一个支持vue文件跳转到定义的插件实战:vscode中开发一个支持vue文件跳转到定义的插件Nov 16, 2022 pm 08:43 PM

vscode自身是支持vue文件组件跳转到定义的,但是支持的力度是非常弱的。我们在vue-cli的配置的下,可以写很多灵活的用法,这样可以提升我们的生产效率。但是正是这些灵活的写法,导致了vscode自身提供的功能无法支持跳转到文件定义。为了兼容这些灵活的写法,提高工作效率,所以写了一个vscode支持vue文件跳转到定义的插件。

巧用CSS实现各种奇形怪状按钮(附代码)巧用CSS实现各种奇形怪状按钮(附代码)Jul 19, 2022 am 11:28 AM

本篇文章带大家看看怎么使用 CSS 轻松实现高频出现的各类奇形怪状按钮,希望对大家有所帮助!

Node.js 19正式发布,聊聊它的 6 大特性!Node.js 19正式发布,聊聊它的 6 大特性!Nov 16, 2022 pm 08:34 PM

Node 19已正式发布,下面本篇文章就来带大家详解了解一下Node.js 19的 6 大特性,希望对大家有所帮助!

浅析Vue3动态组件怎么进行异常处理浅析Vue3动态组件怎么进行异常处理Dec 02, 2022 pm 09:11 PM

Vue3动态组件怎么进行异常处理?下面本篇文章带大家聊聊Vue3 动态组件异常处理的方法,希望对大家有所帮助!

聊聊如何选择一个最好的Node.js Docker镜像?聊聊如何选择一个最好的Node.js Docker镜像?Dec 13, 2022 pm 08:00 PM

选择一个Node​的Docker镜像看起来像是一件小事,但是镜像的大小和潜在漏洞可能会对你的CI/CD流程和安全造成重大的影响。那我们如何选择一个最好Node.js Docker镜像呢?

聊聊Node.js中的 GC (垃圾回收)机制聊聊Node.js中的 GC (垃圾回收)机制Nov 29, 2022 pm 08:44 PM

Node.js 是如何做 GC (垃圾回收)的?下面本篇文章就来带大家了解一下。

【6大类】实用的前端处理文件的工具库,快来收藏吧!【6大类】实用的前端处理文件的工具库,快来收藏吧!Jul 15, 2022 pm 02:58 PM

本篇文章给大家整理和分享几个前端文件处理相关的实用工具库,共分成6大类一一介绍给大家,希望对大家有所帮助。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

SublimeText3 Linux 新バージョン

SublimeText3 Linux 新バージョン

SublimeText3 Linux 最新バージョン

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

AtomエディタMac版ダウンロード

AtomエディタMac版ダウンロード

最も人気のあるオープンソースエディター

SAP NetWeaver Server Adapter for Eclipse

SAP NetWeaver Server Adapter for Eclipse

Eclipse を SAP NetWeaver アプリケーション サーバーと統合します。

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境