我正在将一个项目从webpack 1升级到2,我发现postcss-cssnext有一些奇怪的行为,其中一些css next功能,最明显的是color()函数和我所有的@media查询都不再起作用。
我的webpack和webpack 2的合影是这样的。我在这里做错了什么?
{
test: /\.css$/,
use: [
{
loader: 'style-loader'
},
{
loader: 'css-loader',
options: {
localIndentName: 'localIdentName=[name]__[local]___[hash:base64:5]',
sourceMap: true,
modules: true,
importLoaders: 1
}
},
{
loader: 'postcss-loader',
options: {
plugins: [
postcssImport({ path: './app/css/common' }),
postcssCssnext({ browsers: ['> 1%', 'last 2 versions'] }),
postcssReporter({ clearMessages: true })
]
}
}
]
}发布于 2017-04-19 12:47:33
postcss-loader可能是导致这个变化的原因(1.3.x)。根据doc的说法,你应该为"plugins“选项使用一个函数。或者在postcss.config.js文件中使用数组。
module.exports = {
module: {
rules: [
{
test: /\.css/,
use: [
…
{
loader: 'postcss-loader',
options: {
plugins: function () {
return [
postcssImport({ path: './app/css/common' }),
postcssCssnext({ browsers: ['> 1%', 'last 2 versions'] }),
postcssReporter({ clearMessages: true })
];
}
}
}
]
}
]
}
}或通过postcss.config.js
module.exports = {
plugins: [
postcssImport({ path: './app/css/common' }),
postcssCssnext({ browsers: ['> 1%', 'last 2 versions'] }),
postcssReporter({ clearMessages: true })
]
}(和在webpack)
module.exports = {
module: {
rules: [
{
test: /\.css/,
use: [
…
'postcss-loader',
]
}
]
}
}https://stackoverflow.com/questions/43464461
复制相似问题