2017-04-01 15 views
1

WebPACKのバージョンではありません - Iiはこの奇妙なエラー"モジュール「" + loader.path +「「ローダーのWebPACKエラー

/home/ubuntu/workspace/node_modules/webpack/node_modules/loader-runner/lib/loadLoader.js:35 
         throw new Error("Module '" + loader.path + "' is not a loader (must have normal or pitch function)"); 
         ^

Error: Module '/home/ubuntu/workspace/node_modules/file/lib/file.js' is not a loader (must have normal or pitch function) 
    at loadLoader (/home/ubuntu/workspace/node_modules/webpack/node_modules/loader-runner/lib/loadLoader.js:35:10) 
    at iteratePitchingLoaders (/home/ubuntu/workspace/node_modules/webpack/node_modules/loader-runner/lib/LoaderRunner.js:169:2) 
    at runLoaders (/home/ubuntu/workspace/node_modules/webpack/node_modules/loader-runner/lib/LoaderRunner.js:362:2) 
    at NormalModule.doBuild (/home/ubuntu/workspace/node_modules/webpack/lib/NormalModule.js:179:3) 
    at NormalModule.build (/home/ubuntu/workspace/node_modules/webpack/lib/NormalModule.js:268:15) 
    at Compilation.buildModule (/home/ubuntu/workspace/node_modules/webpack/lib/Compilation.js:142:10) 
を取得しています-4.6.1

2.3.2

ノードバージョン

私はすでに-loadersを使用しています、私はすべての使用ローダーで-loadersを追加する必要があるように見えます。githubの質問と回答を確認しました。しかし。私のWebPACKの設定をチェックしてください

var webpack = require("webpack"); 
var path = require("path"); 
var ExtractTextPlugin = require('extract-text-webpack-plugin'); 


module.exports = { 
    entry: {app: './src/app.js' }, 
    output: {filename: 'public/build/bundle.js', 
     sourceMapFilename: 'public/build/bundle.map' }, 
    module: { 
    loaders: [ 
     { test: /\.(js|jsx)$/, loader: 'babel-loader',options: { 
     presets: ['stage-0','react','es2015'], 
     plugins: ["transform-decorators-legacy","transform-class-properties"] 
    } }, 
     { test: /\.css$/, loaders: [ 'style-loader', 'css-loader' ] }, 
     { test: /\.(eot|svg|ttf|woff|woff2)$/, loader: 'file?name=public/fonts/[name].[ext]' }, 
    { 
    test: /\.(jpe?g|png|gif|svg)$/i, 
    use: [ 
    { 
     loader: 'file-loader', 
     options: { 
     name: '[sha512:hash:hex].[ext]' 
     } 
    }, 
    { 
     loader: 'image-webpack-loader', 
     options: { 
     bypassOnDebug: true, 
     mozjpeg: { 
      progressive: true 
     }, 
     gifsicle: { 
      interlaced: true 
     }, 
     optipng: { 
      optimizationLevel: 7 
     } 
     } 
    } 
    ] 
} 
    ] 
    } 
} 

この問題を解決する他のスレッドはstackoverflowにありません。それで私はなぜ新しいスレッドを開く必要があるのですか?

答えて

3

問題は、この行を次のとおりです。

{ test: /\.(eot|svg|ttf|woff|woff2)$/, loader: 'file?name=public/fonts/[name].[ext]' } 

あなたはWebPACKのロードしようとしている、インストールfileと呼ばれるモジュールを持っています。ローダーではないので、エラーが発生しています(AFAIK、ローダー構成の場合、Webpackは常に最初にこのモジュールを名前付きでロードしようとします。したがって、この場合はfileが存在し、モジュールが存在しない場合のみ-loaderを追加して再試行しますので、file-loaderとなりますが、fileが存在するため、Webpackは正しいローダーモジュールを見つけたと考えています)。これに

変更それは:あなたが同様の問題が発生した場合

{ test: /\.(eot|svg|ttf|woff|woff2)$/, loader: 'file-loader?name=public/fonts/[name].[ext]' } 
+0

あなたは神センドあります。魅力的に働いた。 –

0

webpack2-loaderの接尾辞を持つようにloadersのすべての名前を必要としていることに注意してください。

urlというローダーは、以下に示すようにurl-loaderとして使用する必要があります。

{ 
    test: /\.(eot|svg|ttf|woff(2)?)(\?v=\d+\.\d+\.\d+)?/, 
    loader: 'url-loader' 
} 

別の例..

{test: /\.css$/, loader: "style-loader!css-loader"}, 
関連する問題