与Webpack Postcss
问题描述:
我想获得一个webpack文件与postcss一起工作没有成功。与Webpack Postcss
我在SRC/css文件夹命名我的.pcss扩展postcss文件
我希望得到的.css在蒸馏水/ css文件夹
生成的文件这是的WebPack配置我到目前为止。
var path = require('path');
var rootPath = path.join(__dirname, './');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
module.exports = {
entry: {
'main':'./src/js/index.js'
},
output: {
path: path.join(rootPath, 'dist'),
filename: '[name].js'
},
module: {
loaders: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel'
}
],
rules: [
{
test: /\.pcss$/,
exclude: /node_modules/,
use: [
{
loader: 'postcss-loader'
}
]
},
{
test: /\.css$/,
exclude: /node_modules/,
use: [
{
loader: 'style-loader',
},
{
loader: 'css-loader',
options: {
importLoaders: 1,
}
}
]
}
]
},
watch: true
};
我postcss.config文件
module.exports = {
plugins: [
require('precss'),
require('autoprefixer'),
require('postcss-simple-vars')
]
}
我可以知道我做错了吗?
答
使用extractTextPlugin解决了这个问题。下面的代码。
var path = require('path');
var rootPath = path.join(__dirname, './');
const ExtractTextPlugin = require('extract-text-webpack-plugin');
const extractPCSS = new ExtractTextPlugin('../css/[name].css');
module.exports = {
entry: {
'main':'./src/js/index.js'
},
output: {
path: path.join(rootPath, 'dist','js'),
filename: '[name].js'
},
module: {
loaders: [
{
test: /\.js$/,
exclude: /node_modules/,
loader: 'babel'
}
],
rules: [
{
test: /\.pcss$/,
exclude: /node_modules/,
use: extractPCSS.extract([ 'css-loader', 'postcss-loader' ])
}
]
},
plugins: [
extractPCSS
],
watch: true
};