建物の前に話をするステータスとプロジェクトのアイデア

起源は、
降水量の数年後、この段階でのセッションの変更のフロントエンドは、最終的には安定期に入りました。前任者は、次のような問題を解決するために、主に、道路を旅思い出してください。

ブラウザのサポート言語は非常に友好的ではない特徴、開発の効率に影響
管理の欠如、あまりにも非効率的で、コピー&ペーストの貧弱な制御に依存しているプロジェクトの
画像は、ブラウザのキャッシュハッシュ関数を制御するために使用されるファイルを生成した圧縮コードを圧縮するためのツール必要
保存時に開発をリアルタイムでのコード開発の経験を改善するために、ブラウザを更新

これらの問題を解決するには、次の解決策がありました:

ブラウザに変換バベル、ES6、typescriptですがES5コードサポート
例えば、DSL(ドメイン固有言語):以下、CSSの拡張のために等をSASS、JSXは、VUEのテンプレート、HTML拡張の角度テンプレート
NPM依存マネージャは、
ツールプロセスを使用します圧縮符号、圧縮した画像は、ファイルのハッシュ関数を生成し
、リアルタイムにブラウザをリフレッシュのためのライブリロード、browsersync、ホットリロードツールを使用して

これらのソリューションは、当社の開発力の不可欠な一部となるので、前ので、私たちは、アップこれらの同時にツールが必要とうなり声のように表示された後、がぶ飲みは、FIS、他のフロントエンドエンジニアリング構築ツールをWebPACKの。繰り返ししばらくの間更新した後、思考のすべてのモジュールと強力にWebPACKのすべてのものは、徐々に、ツールの数で前面に来て、共通のフロントエンドプロジェクトのビルド・ツールになります。
現状
、この段階では、個人的に重く、重く、より多くの面倒を構築するためのプロジェクトのフロントエンドと感じています。新しいプロジェクトのために、あなたは常に依存関係(Mのnode_modules数百人)の束をインストールし、ツールを構築するために、そして最終的に事業展開を行うために、構成アイテムの束を記述する必要があります。プロジェクトが大きくなっているとき、私たちは多くの時間あなたが起動するごとに時間を費やす必要があります。ツールは、プロジェクトの依存関係の分析を構築し、コンパイルし、最終的に出力ファイルブラウザに実行できるために必要なので。そして、みんなの議題に入れた構成と最適化ツールを構築。
現在、主に以下の方向に、例えば、WebPACKのに最適化プログラムを構築します:

WebPACKの構成を解決するため、loderが構成除外する:依存解析を低減
下請業者、動的ローディング:インポート()、require.ensureを()
共通部分を抽出するために、依存性を低減コンパイルする必要がある:DllPluginは、外観は
マルチスレッド、マルチプロセス並列を活用コンパイル:スレッドローダー、happyPackの
キャッシュ:キャッシュローダー、ハード・ソース -webpack -プラグイン

しかし、ビジネス・コードは、一定のレベル(5Wライン上で)、上記の最適化を行った後、速度は本当に、多くのことをスピードアップするが、DEV(開発環境)のための個人的な感情に達するまだ少し重いです。
アイデア
の@ VUEは/ dev-サーバーツールを参照するにはいくつかの時間後には、突然フラッシュ、実現可能な解決策を考え出しました。このツールは、すぐに単一のファイル.vue、我々はそれが取引を行ったことを見て、開発環境を起動できるコマンドは1行だけです。
webpack.configを設定してなどいません文書作成された文書によると、何の前処理の出力ファイルはありません。

index.htmlファイルは、最新のChromeブラウザは、ESモジュールロードmain.js.をサポートして使用します

Vue dev
文書通常の入場プロジェクトのように、test.vueファイルの導入をコードmain.jsファイルをコピーします。コード内Test.vueファイル形式は、通常は実証されていないVUE単一のファイルです。「./test.vue」から「VUE」輸入アプリからの輸入のVue

Vueの新しい新しい({
レンダリング:H => H(APP)
})。マウント$( '#アプリケーション')
その後、インポートルート一貫性の種類を搭載したエクスプローラを見て、コードされているスクリプトをコピーする(Content-Typeの:/ javascriptのアプリケーション)。

main.jsでは、 'VUE' からインポートVueのは、 '/ __モジュール/ VUE' からのVueをインポートするために処理されます。エスモジュールブラウザが達成されていないため、インポートマップは、それがパスなしサポートに依存しない、まだ提案の特徴です。VUEはvue.js.ブラウザが実行できています

元.vue単一のファイルブラウザは、事前にコンパイルの必要性がサポートされていないためtest.vueは、コンパイル後のソースコードです。

このように、ツールはミドルウェアの使用に焦点を当てて、次の処置を行いました。

ブラウザがサポートするようにパスせずに依存変換(一時的にのみVUE、他のNPMパッケージ未処理)アドレスを参照し、
ブラウザ変換、コンパイル済み.vueファイルは、同様のVUEローダのWebPACKでJSをサポート

慎重ビルドツールを考えると、現在の契約のプロジェクトのリソースファイルの完全な量に依存しますが、何回も、私たちは、モジュール内のページ用に開発されています。理想的なの観点から、実際には、我々は唯一のリソースファイルに依存してページを処理する必要があります。リソースをロードするためのブラウザが実行できないときはいつでも:VUE、SASSを、より少ないように、それはブラウザに/コンパイルプロセス、最終的な出力リソースファイルを変換します。
systemjs、githubの説明:ダイナミックESのモジュールローダ実際には似たような試みを、作るために地域の人々があります。もちろん、これは実装され、その変換ローダ機能に重点を置いて、単にブラウザの互換性のESモジュールのためではありません。この機能は、対応するマッチング処理に依存する類似のWebPACKローダ機能ローダを提供します。ほとんどのWebPACKローダーと互換性が実際に良いプログラムであれば、特定の治療ローダは、ウェブワーカーに配置されたまたはノードサーバで処理することができます。
現時点では、アイデアはまだ確認されていませんし、今後の研究ならば、実装は、関連するコンテンツを見つけるために行くことができます興味を持っているが、また、為替を議論したいと考えています。

おすすめ

転載: blog.csdn.net/a59612/article/details/93783470