2016-08-22 18 views
0

Webpackを使用して、私のアプリケーション(jscss)のミニバージョンと未対応バージョンの両方をビルドしようとしています。
これは簡単に-pまたは--optimize-minimizeスイッチを使用して、コマンドラインインターフェイスを介して行うことができます。Node.jsからWebpackに引数を渡す

webpack 
webpack -p 

しかし、私はちょうど1つのコマンドでこれらのアクションを実行したいと思いますので、私は小さなNode.jsのスクリプトを書くことにしましたこれらのWebPACKの両方を実行することになるのビルド:

var webpack = require('webpack'); 
var config = require('./webpack.config'); 
webpack(config, callback); // Build unminified version 

をそう質問は次のとおりです。私はミニを構築するために、Node.jsのスクリプトからのWebPACKに、前述の-p引数を渡すことができます偽のバージョン?あるいは、私の特定の問題を解決する簡単な方法がありますか?

もちろん、私はchild_process.exec()を使うことができますが、それは本物のNode.jsの方法だとは思いません。

答えて

2

を説明したノードの環境変数を設定process.env.NODE_ENV="production"のエイリアスであるのWebPACKにunminifiedバージョンをお使いのデフォルトの設定を作成します。その設定でwebpackを実行します。コードから設定を変更し、webpackを再度実行してください。コード例を示します。

var webpack = require('webpack'); 
//assuming the config looks like this. 

var config = { 
    entry: "./entry.js", 
    output: { 
     devtoolLineToLine: true, 
     sourceMapFilename: "./bundle.js.map", 
     pathinfo: true, 
     path: __dirname, 
     filename: "bundle.js" 
    }, 
    module: { 
     loaders: [ 
      { test: /\.css$/, loader: "style!css" } 
     ] 
    }, 
    plugins: [] 
}; 

webpack(config).run(); // Build unminified version 

config.output.filename = 'bundle.min.js' 
config.plugins = [ 
     new webpack.optimize.UglifyJsPlugin({ 
      include: /\.min\.js$/, 
      minimize: true 
     })]; 


webpack(config).run(); // Build minified version 
+0

あなたの答えをありがとう!競合状態を避けるために、あなたのメソッドを使い、 'config'オブジェクトを分離しました。 – kefir500

0

キーphere

+0

ありがとうございました!しかし、これは 'NODE_ENV' **と**' --optimize-minimize'のショートカットであり、必要な縮小は2番目のもののために行われます。 – kefir500

関連する問題