2017-04-10 5 views
1

これは本番環境用のwebpack設定です。TypeError:webpack.LoaderOptionsPluginは関数ではありません

var path = require('path'); 
    var webpack = require('webpack'); 
    var precss = require('precss'); 
    var autoprefixer = require('autoprefixer'); 
    var SaveAssetsJson = require('assets-webpack-plugin'); 

    ... 

    console.log('Build optimized for production\n'); 

    config.output.filename = '[hash].plan.js'; 

    config.module.loaders.push({ 
     test: /\.js$/, 
     loaders: ['babel'], 
     exclude: /node_modules/, 
     include: path.join(__dirname, 'app'), 
    }); 

npm/package.jsonで消費されます。

"build": "NODE_ENV=production webpack -p --config webpack.config.js", 

は、今私は主にデバッグ目的のための特定の環境に合わせて出力スクリプトuglificationをオフにする:package.jsonscriptsセクションでは、ここにbuild対象です。私はとき、しかし、ここでhttps://webpack.js.org/guides/production-build/

WebPACKのドキュメントからのプラグインの設定をコピーpackage.json

assets-webpack-plugin": "3.5.0", 
"webpack": "1.13.3", 

内部

switch (process.env.NODE_ENV) { 
case 'staging': 
    console.log(`Build optimized for ${process.env.NODE_ENV}\n`); 

    config.output.filename = '[hash].plan.js'; 

    config.module.loaders.push({ 
     test: /\.js$/, 
     loaders: ['babel'], 
     exclude: /node_modules/, 
     include: path.join(__dirname, 'app'), 
    }); 

    config.plugins = [ 
     new webpack.LoaderOptionsPlugin({ 
      minimize: true, 
      debug: false 
     }), 
     new webpack.optimize.UglifyJsPlugin({ 
      beautify: false, 
      comments: false 
     }) 
    ] 
    break; 
... 

関連の依存関係:ここで

は私の新しい追加WebPACKの構成です私はnpm run build:stagingを実行します。私はこのエラーを受け取りました:

> [email protected] build:staging /Users/antkong/project 
> NODE_ENV=staging webpack --config webpack.config.js 

Build optimized for staging 

/Users/antkong/project/webpack.config.js:82 
     new webpack.LoaderOptionsPlugin({ 
    ^

package.jsonにコマンド対応:

"build:staging": "NODE_ENV=staging webpack --config webpack.config.js", 

私は何を逃したのですか?インストールする必要があるdev依存関係はありますか?

答えて

4

LoaderOptionsPluginはwebpack 1には存在しません。移行を容易にするためにwebpack 2に追加されました。

この時点で推奨されるwebpack 2にアップグレードするか、webpack 1を使用する必要がある場合は、プラグインリストからLoaderOptionsPluginを削除する必要があります。

関連する問題