2016-11-30 3 views
0

私はかなり複雑なwebpack設定を持っています。開発のためにwebpack-dev-serverを使ってほんの数のエントリポイントを使う必要があります。残りはいつものようにファイルシステムにコンパイルされます。これを行う方法はありますか?または2つのwebpack configsを用意して別々に実行する必要があります。Webpack:devサーバのエントリポイントを使用

簡単な例

{ 
    entry: { 
    // Deliver this with dev server 
    app: "../index.js", 
    admin: "../admin.js", 

    // Deliver this with default compilation into file system 
    some_css: "../static.css", 
    other_css: "../other.css" 
    } 
} 

おかげ

答えて

0

最良かつ最もクリーンなソリューションがDevProdするために、2つの異なるコンフィグを作成することです:webpack.configで

- webpack.config.js 
- webpack.production.config.js 

entry: [ 

    // For hot style updates 
    'webpack/hot/dev-server', 

    // Our application 
    // whatever file you need 
    mainPath 
] 

そして、あなたの生産で:

devtool: 'source-map', 
entry: mainPath, 
output: { 
    path: buildPath, 
    filename: 'bundle.js' 
} 

確かに、彼らはこのような環境変数をチェックするなど、他の方法があります。

var isProduction = process.env.NODE_ENV === 'production'; 

そして、あなたの設定では、しかし、あなたはあなたの設定が言ったことを使用することができますそれをもっと複雑にしないためにはすでに複雑です。

UPDATE:

あなただけの複数のエントリを持つようにしたい場合:

{ 
    entry: { 
     a: "./index", 
     b: "./admin", 
     c: ["./c", "./d"] 
    }, 
    output: { 
     path: path.join(__dirname, "dist"), 
     filename: "[name].entry.js" 
    } 
} 
+0

これは、本番用ではありません。それは開発のためです。私が言及したように、javascriptはwebpack dev server経由でロードされ、スタイルはファイルシステムのファイルを介してロードされなければなりませんでした(アーキテクチャと用途のため) – Schovi

関連する問題