WebPACKの学習 - あなたと手ローダー()巨人に詳細をカスタマイズします

碑文の
WebPACKのそれはツールパッケージの一つですが、フロントRDのために、これは全体的な感じより簡潔のために、ローダに記載されているWebPACKの公式サイトを、学習に最近も、しきい値を超えるジャンプで、手を試してみたいが、まだ少し無知がありました無知、あなたの最初のローダを起動する方法がわからない、今日は私が手動のプロセス、あなたと共有する、独自のパッケージローダーを来て、最初の一歩を踏み出します。(Psが:次のステップは、学生が多くのことを理解に基づいて、より詳細になります)

A、ローダー
1.1なぜローダ必要があります

私たちが直接WebPACKの圧縮ファイルを識別し、あなたはWebPACKのために使用することができ、直接または間接的な認識に変換するローダーを使用する必要がされていない、の.css .less .scss .txtファイルの.jpg .vueなど実際のプロジェクトを持っている理由はここにありますJavaScriptファイル。

ローダーは何1.2
その後、最終的に何であることローダー、ローダーを持っている理由私たちは知っていますか?ベースコードの最初:

輸出のデフォルトの機能ローダー(ソース){ 
  ソース= "ローダーこんにちは!" 
  リターン`輸出デフォルトの$ {JSON.stringify(ソース)}`; //返回值
}。

ローダは確かに実際に遭遇することはありません、それは、関係なく、任意のデータを受信して​​いない、ただ一つのことを行うには、私たちが学ぶことだけのために、リターンを使用しないだろう「こんにちはローダー!」、この文字列を。

第二に、仕事の準備

ローカルインストールノード環境
は、mkdirハローローダー&& CD hello-ローダー( これは私たちHello-で、ディレクトリを作成し、その中に来ローダディレクトリa)の
目的は、標準的なパッケージを生成するために、現在のディレクトリを初期化することである(INIT -yをNPM。 JSONファイル、理由などで- Y-、あなたは自己ハを検索することができます)、今まで、唯一pakcage.jsonカレントディレクトリのファイル
NPM I-DのWebPACKのWebPACK-CLI(インストールが失敗した場合は、WebPACKのグローバルなインストール、変更する必要があるかもしれません)-gに、現在のディレクトリnode_modules、package.json、パッケージ変更のためのロックこの時点ではあり.json、三つのファイル を作成するために、ディレクトリ・ローダ、ローダ/ Hello- loader.js、main.js、index.htmlを、webpack.config .jsファイルは、(上記の書類のすべてが空である) この奇妙なドキュメントを構築するのはなぜ認識しないWebPACKのロードファイルにローダーを反映させるために、あなたのような愛を持っているので、(text.helloファイルを作成するには、ここで何をどのような、I彼らは).helloファイル形式を構築しました
このとき、構造以下の項目:

これまでのところ、準備作業は、それが考慮さ完了しています

第三には、作業を開始し

3.1ハローloader.js

それが私たちの規範の始まりです。

module.exportsは= 関数ローダー(ソース){ 
    ソース= "ローダーこんにちは!" 
    リターン`輸出デフォルトの$ {JSON.stringify(ソース)}`; //返回值
}。

3.2 main.js

このパッケージではできるだけ簡単に、このjsのは一つだけを行うので、後に、ファイルは、私たちの入り口となり、それがページに表示するように.hello文書を読み込むことです。

//ここでは、JSファイルのタイプではありませんので、WebPACKのは、デフォルトパッケージJSに基づいて識別されますので、我々は、インポートするファイルを作成します
ので、ここで//コンバートにローダーをトリガするためにインポートされたファイルを使用することである
「./testからデータをインポートするには.hello ' ; 
機能テスト(){ 
    要素=のdocument.getElementByIdせ('アプリ」
    にconsole.log(データ); 
    element.innerText = データ; 
} 
テスト();

3.3 index.htmlを

ページのコードからMain.js非常にシンプルなロジックは、要素アプリIDを取得することであり、.hello値、表示中の要素:

<!DOCTYPE HTML> 
<HTML LANG = "EN"> 
<HEAD> 
    <メタ文字コード= "UTF-8"> 
    <タイトル>タイトル</ TITLE> 
</ HEAD> 
<BODY> 
    の<divのid = "アプリ"> 
        <スクリプトSRC = "./出力/ bundle.js"> </ SCRIPT> 
    </ div> 
</ BODY> 
</ HTML>

これは、ことに留意すべきです。

ファイルはWebPACKのパッケージ後に出力ファイルであるため、1。我々は、参照./output/bundle.jsファイルインデックスに必要な、これは、あります

あなたは今ではない理由として、梱包のない実装がないので、私は書くつもりされ、あなたがライン上で知って、main.jsを参照することはできません

私達はちょうど書かれているように、この後2.取得のmain.jsにあるアプリケーションIDのラベルです(スクリプトタグは、div要素やラベルに置かなければならないがあり、

私たちは、このdiv要素ノードがすでに存在していることを確認したいので、私たちは)あなたが書いていない場合ので、あなたはこれを無視することができ、これは限らmain.jsで、データを設定することができます

3.4 test.hello

次のように内側に何気なく書か

ただ、何の要件を記述していません

 

3.5 webpack.config.js

これまでのところ、この準まあ私たちの基本的な文書は、すべてが所定の位置にあり、かつパッケージ構成を送りました。

CONSTパス=( 'パス'を必要とする ); //ノードメソッド
 
module.exportsは= { 
    エントリ: "./main.js"、//エントリファイル
    MODE: "開発" 
    出力:{//インポートファイル構成されていますindex.htmlを導入
        ファイル名: "bundle.js"  パス:path.resolve(__ DIRNAME、 "出力"  }、 Module1の:{  ルール:[  {  テスト:/\.hello$/、//ファイルの種類ロードされますnは一致し ローダー:[path.resolveを(__ dirnameは、 」./loader/hello-loader.js')、] // 我々ローダーファイル}]}}


これまでのところ、コード補完

第四に、検証

4.1のWebPACK

パッケージは、ローダ・ノードが実行中に包装されているリアルタイムの発効ので、見られるように、最初のステップを確認してください。

  1. 入口のWebPACK main.jsファイル、順次ファイルをロードします
  2. まず、.helloファイルのインポートを見つけ、これを識別することはできません
  3. 解決するために該当するローダーが存在しないかどうかを確認するために構成です
  4. 私たちのhello-ローダーを探します

だから、私たちは作業を開始しました:あなたは、ビルドコマンドがpackage.jsonのNPMの実行ビルドして実行することができます設定する場合は、コマンドを実行しWebPACKの、直接ではなく、それWebPACKの

WebPACKの

ファイルディレクトリのプロジェクトよりも後

4.2ブラウザの検証

ブラウザは、index.htmlファイルを開くには、次のように見ることができます

パーフェクト説明ローダーは力になっています!

Aに対して4.3認証

中webpack.config.jsに次のコードをコメントアウトします。

私たちは、検証のWebPACKは、それがファイルをロードしないではない、私たちのローダーがないわけではありません、私は言っていないコメント、注釈完全な、保存、実行のWebPACK再び、次のように与えられています:

ヒントを解決し、データの変換に対応することができない、それが仕事にできない私たちのローダーのいずれもが、表示されませんが、その後、我々は、検証を進め、中国のコンマは解決できないことが示唆されました

4.4リバーステスト&検証

カザフスタンは、(webpack.configファイルのコードを見て、です)ファイルの上に変更されないまま
英語にtest.hello、句読点を修正します:

ただ、ここに書くとにかく読み取ることができませんでした

その後のWebPACKを実行し、エラーなしでこの時間は、それはかなり良いように見える、お使いのブラウザは、空白(ないスクリーンショット)、コンソールエラーを更新します。

ドキュメントと正しい解像度せず、デフォルトフォーマットのJSに従って解析

4.5最後のステップ

まず回復webpack.config.js、私たちのローダーを有効にします。

そして、ハローloader.jsについて更新します。

ただ、コードの行コメントアウト
パッケージを
、ブラウザを更新します。

これまでのところ、エントリーが完了しました

コードはgitのにアップロードされ、あなたは私ができるローカルエグゼクティブNPMに私を得たことができます

おすすめ

転載: www.cnblogs.com/funtake/p/11963895.html