2016-11-28 25 views
2

でローダーを返す理由 "module.exports =" + JSON.stringify(入力);戻り値の代わりに JSON.stringify(入力);webpackローダーが "module.exports = ..."で返される理由を教えてください。

何がポイントですか?

これはjson-loaderです。それはJSON、画像や他のいくつかのファイルタイプであるかどうか

/* 
    MIT License http://www.opensource.org/licenses/mit-license.php 
    Author Tobias Koppers @sokra 
*/ 
module.exports = function(source) { 
    this.cacheable && this.cacheable(); 
    var value = typeof source === "string" ? JSON.parse(source) : source; 
    this.value = [value]; 
    return "module.exports = " + JSON.stringify(value) + ";"; 
} 

答えて

0

、常にで、それが依存性としてのWebPACKによって生成された他のモジュールにインポートできるように、コンテンツをエクスポートJSモジュールを返しますWebPACKののローダー別のモジュール標準(AMD、UMDなど)を使用している場合は、モジュールが生成された後に追加の変換が適用されます。

Webpackのモジュール解決とプラグイン変換をバイパスしたい場合は、copy-webpack-pluginを使用してください。この方法では、未処理のJSONファイルを作成しますが、ソースで使用する前に、パブリックURLを知り、XHRまたはfetch()でファイルをロードする必要があります。

関連する問題