我正在使用Webpack、Extract Text Plugin和PostCSS来生成我的 CSS 包。我使用Html Webpack Plugin生成index.html
文件。这是我的webpack.config.js
:
// imports
module.exports = {
// entry point, etc.
module: {
loaders: [
// other loaders here
{
test: /\.scss/,
loader: debug ? 'style-loader!css-loader!postcss-loader!sass-loader' :
ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader!postcss-loader!sass-loader' })
},
{
test: /\.css$/,
loader: debug ? 'style-loader!css-loader!postcss-loader' :
ExtractTextPlugin.extract({ fallback: 'style-loader', use: 'css-loader!postcss-loader' })
},
]
},
plugins: [
// other plugins here
new ExtractTextPlugin('css/bundle.min.css'),
new webpack.LoaderOptionsPlugin({
minimize: true
}),
new HtmlWebpackPlugin({
template: './dev/index.ejs',
}),
],
};
我的postcss.config.js
:
module.exports = {
plugins: [
require('autoprefixer'),
require('postcss-object-fit-images'),
require('oldie')({
opacity: {
method: 'copy'
},
rgba: {
method: 'clone'
}
})
]
};
我设置了 RGBA 和不透明度选项来复制原始规则。我尝试对 UnMQ 做同样的事情(postcss 删除 IE 的媒体查询),但找不到任何复制原始媒体查询的选项。我也尝试禁用它:
require('oldie')({
opacity: {
method: 'copy'
},
rgba: {
method: 'clone'
},
unmq: {
disable: true
}
})
除非我从postcss.config.js
. 现在我想尝试为 IE 生成一个单独的 CSS 包,并将其包含在index.html
类似于Oldie网站上给出的示例中:
<!--[if gt IE 8]><!--><link href="style.css" rel="stylesheet"><!--<![endif]-->
<!--[if lte IE 8]><link href="style.oldie.css" rel="stylesheet"><![endif]-->
如果这是不可能的,请提出另一种方法,我可以让 Oldie 为 IE 工作,但不影响支持它的其他浏览器的媒体查询。