webpack
と を使用して、複数のエントリを持つ React アプリケーションを作成しようとしていますextract-text-webpack-plugin
。
私の設定ファイルは次のようになります。
const commonsChunkPlugin = require('webpack/lib/optimize/CommonsChunkPlugin');
const extractTextPlugin = require('extract-text-webpack-plugin');
let config = {
entry: {
app: './client/app.entry.js',
signIn: './client/sign-in.entry.js',
},
output: {
path: './server/public',
filename: '[name].js'
},
module: {
loaders: [
{
test: /\.(js|jsx)$/,
exclude: /node_modules/,
loader: 'babel-loader',
query: {
presets: ['react', 'es2015']
}
},
{
test: /\.css$/,
loader: extractTextPlugin.extract('style-loader', 'css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]')
}
]
},
resolve: {
modulesDirectories: ['node_modules', 'client'],
extensions: ['', '.js']
},
plugins: [
new commonsChunkPlugin('common', 'common.js'),
new extractTextPlugin('styles.css', { allChunks: true })
]
};
module.exports = config;
私の問題はextract-text-webpack-plugin
、エントリ チャンクのサブモジュールからではなく、エントリ チャンクからインポートされた css ファイルのみが含まれていることです。
だからもしapp.entry.js
持っているなら
import "./app-style.css";
import "./sub-module"; // This module has import "./sub-style.css";
のスタイルapp-style.css
はバンドルされますが、 のスタイルはバンドルされませんsub-style.css
。
エントリ ファイルが 1 つしかないときは、この問題は発生したことがないので、複数のエントリを作成するには別の設定が必要になるのでしょうか?
考慮すべきことは、使用方法による CSSModules の使用ですcss-loader
。これも要因になる可能性があります。
何か案は?