VUE-ローダーコンポーネントを単一のファイルに作用するか観察研究:
単一ファイルのコンポーネントを作成します。
app.vue:
WebPACKの構成:
操作パッキング、生成されたコードは、このプロセス.vue最初のファイルのVUEローダで見ることができます。
//ここでは、import文が処理のために再びapp.vueファイルをWebPACKのローダインラインを使用します
JS // app.vueのVUE-ローダーの使用は、生成プロセスとstaticRenderFnsをレンダリングします
「./app.vue?vue&type=template&id=5ef48958&」からインポート{レンダリングstaticRenderFns}
//スクリプトを取得するために処理するために使用しVUE-ローダーをapp.vueします
「./app.vue?vue&type=script&lang=js&」からインポートスクリプト
「./app.vue?vue&type=script&lang=js&」からの輸出*
/ * *成分を正規化/
"!../ node_modules / VUE-ローダ/ libに/ランタイム/ componentNormalizer.js" からインポート正規化
//標準の正規化VUEのコンポーネントを使用して初期化
VAR成分=正規化(
スクリプト、
レンダリング、
staticRenderFns、
偽、
ヌル、
ヌル、
ヌル
)
/ *ホットリロード* / //熱負荷関連コンテンツ
IF(module.hot){
VaRのAPI =必要( "C:\\ユーザー\\ huhao \\デスクトップ\\ VUE-ローダー学ぶ\\ node_modules \\ VUEホットリロード-API \\ DIST \\ index.js")
api.install(( 'VUEを')が必要です)
IF(api.compatible){
module.hot.accept()
(もし!api.isRecorded( '5ef48958')){
api.createRecord( '5ef48958'、component.options)
}他{
api.reload( '5ef48958'、component.options)
}
module.hot.accept( "./ app.vue?VUE&タイプ=テンプレート&ID = 5ef48958&"、関数(){
api.rerender( '5ef48958'、{
レンダリング:レンダリング、
staticRenderFns:staticRenderFns
})
})
}
}
__FILE属性タグファイル名のオプションの//コンポーネント
component.options .__ファイル= "SRC / app.vue"
//輸出のコンポーネントがにさらされています
輸出デフォルトcomponent.exports
このファイルの解析次のとおりです。
新しいファイルを作成し、JS上記のコードを記入し、このファイルの呼び出しのWebPACKパッケージは、分析のためのコンソールを表示し、ページの実行中に注入生成main.jsをマークするための場所に印刷します。
staticRenderFns、スクリプトは、レンダリングローダーで再度処理取得します:
「./app.vue?vue&type=template&id=5ef48958&」からインポート{レンダリングstaticRenderFns}
//スクリプトを取得するために処理するために使用しVUE-ローダーをapp.vueします
「./app.vue?vue&type=script&lang=js&」からインポートスクリプト
「./app.vue?vue&type=script&lang=js&」からの輸出*
ここでの内容は、テンプレートスクリプトブロック内容と再びVUE-ローダーと呼ばれるブロックコンテンツ自体の結果であります
VUE-テンプレート・コンパイラを使用してテンプレートブロック
標準化は、コンポーネントを生成します。
/ * *成分を正規化/
"!../ node_modules / VUE-ローダ/ libに/ランタイム/ componentNormalizer.js" からインポート正規化
//標準の正規化VUEのコンポーネントを使用して初期化
VAR成分=正規化(
スクリプト、
レンダリング、
staticRenderFns、
偽、
ヌル、
ヌル、
ヌル
)
normalizeComponent機能を見て:
構造物の印刷されたコンポーネント:
輸出のコード部分の最後の部分は、としてエクスポートオプションに行ってきました
コンポーネントは、スクリプト部分に使用Vue.extendように生成された場合、なお輸出の関数です。
物語の公式ドキュメント:
* staticRenderFunctionsは何ですか
すなわちVUEのテンプレートコンパイラへの参照用*ヴュー・ローダー:分析セグメントブロックテンプレート
...
結論:VUEローダはWebPACKのローダ、サフィックス.vue単一文書処理コンポーネントです。.Vueは、最初に対応するコンテンツファイルに変換され、各テンプレート、スクリプト、CSS及びローダを呼び出す他の地域のそれぞれの内容は、オブジェクトの最終的な形は、JS成分データを返します。