Webpackをセットアップしようとするのはこれが初めてなので、ここで何かが欠けていると確信しています。
ExtractTextPluginを使用してcssファイルを「dist」に生成し、WebpackでPostCSSファイルをロードしようとしています。問題は、Webpackがcssファイルを取得しないように見えることです。それらは「クライアント/スタイル」の下にありますが、私はそれらを「共有」に移動してみましたが、同じ結果になりました。
--display-modulesオプションを使用してWebpackを実行し、そこにcssファイルが表示されないことを確認しました。
テキスト抽出プラグインなしで実行してみましたが、結果は同じです。CSSはbundle.jsに組み込まれていません。
ここに私の製品構成があります:
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var path = require('path');
module.exports = {
entry: [
'./client'
],
resolve: {
modulesDirectories: ['node_modules', 'shared'],
extensions: ['', '.js', '.jsx', '.css']
},
output: {
path: path.join(__dirname, 'dist'),
filename: 'bundle.js',
chunkFilename: '[id].js',
publicPath: '/'
},
module: {
loaders: [
{
test: /\.jsx?$/,
exclude: /node_modules/,
loaders: ['babel']
},
{
test: /\.css?$/,
loader: ExtractTextPlugin.extract(
'style-loader',
'css-loader!postcss-loader'
),
exclude: /node_modules/
}
]
},
plugins: [
new ExtractTextPlugin('[name].css')
],
postcss: (webpack) => [
require('postcss-import')({ addDependencyTo: webpack, path: ['node_modules', 'client'] }),
require('postcss-url')(),
require('precss')(),
require('postcss-fontpath')(),
require('autoprefixer')({ browsers: [ 'last 2 versions' ] })
]
};
そして、ここに私のメインcssファイルの例があります:@import 'normalize.css/normalize';
/* Variables */
@import 'variables/colours';
/* Mixins */
/* App */
/* Components */
body {
background-color: $black;
}
なぜこれが起こっているのか、誰にもアイデアがありますか?何か不足していますか?
ありがとうございました
スタイルローダーとcssローダーを使用しているため。 jsファイル自体にcssを含めることができます。 require(style.css)
またはimport 'style.css'
(ES6を使用している場合)スタイルを使用しているjavascriptファイル内。 CSSのwebpackへのエントリポイントを提供する必要はありません。
それが役に立てば幸い。
だから、3時間頭を壁にぶつけた後、ついに手に入れました。これが将来誰かを助けることを願っています。
私がする必要があるのは、'./client/styles/main.css'
エントリポイントに。うん.