2016-02-25 17 views
6

webpackのrequire機能の仕組みを理解できません。例えば、私はWebPACKの程度this articleを読んでいると、次の例がある:webpackはどのように動作する必要がありますか?

ましょうスタートをWebPACKのが私たちのプロジェクトを作成し、インストールすることによって、我々はまた、jQueryので プルは、後にいくつかのことを実証するでしょう。

$ npm init 
$ npm install jquery --save 
$ npm install webpack --save-dev 

今度は、今の平野ES5で、我々のアプリのエントリポイントを作成してみましょう:

のsrc/index.js

var $ = require('jquery'); 

$('body').html('Hello'); 

そして、私たちのWebPACKのを作成してみましょうwebpack.config.jsファイルで設定します。 WebPACKの構成は単なるJavascriptのである、と オブジェクトをエクスポートする必要があります。

module.exports = { 
    entry: './src', 
    output: { 
     path:  'builds', 
     filename: 'bundle.js', 
    }, 
}; 

webpack.config.jsはどのようにWebPACKのjQueryのrequire('jquery')であるか知っていますか? jqueryに関連して指定された設定オプションはありません。

+0

まあ、jqueryをダウンロードして、それを 'node_modules'フォルダに置き、それを' package.json'への依存として追加します。それはどのようにwebpackに関連していますか? –

答えて

6

この場合、CommonJS require(例:Node require)のように機能します。 (伝統的なrequire s以下のWebPACKのrequireのサポート、より多くの柔軟性が、デフォルトの動作は同じです。)

This Modules section in the docsは、ノードがrequire()への呼び出しから戻るために何を割り出し方法を説明します。 'jquery'が必要な場合は、最初にその名前のネイティブモジュールを探し、見つからずにnode_modulesを探します(パスの先頭に/または./がないため)。 'jquery'はフォルダなので、package.jsonファイルを見て、パッケージのmainファイルを宣言していることを確認します。これが実行されます。

すべてを読む価値があります。例えば、キャッシュ部分は知るために重要である。

+0

答えてくれてありがとう。だから、あなたが言っているのは、webpackは単に 'node'に' require'呼び出しを委譲し、返されたものを使っているということです。 –

+0

@ Maximusより柔軟な要求解決、プラグインなどをサポートするためには他のものもありますが、ノードスタイル 'require'sを書くと最終的にNodeに委譲されると思います。確かに動作は同じです。 –

+0

私は大丈夫です、ありがとう、webpackの情報がまだ不足しています –

関連する問題