Autoprefixer 在 webpack 中不起作用
Autoprefixer not working in webpack
我正在尝试使用 web pack 设置 bootstrap,但是当我 运行 构建时它没有提供 CSS 的自动前缀版本。
在 custom.scss 中,我添加了我的自定义项,然后从我的节点模块中导入了 bootstrap。
这是我的webpack.config.js
module.exports = {
entry: {
scss: ['./src/scss/custom.scss']
},
module: {
rules: [
{
test: /\.scss$/,
loader: ExtractTextPlugin.extract({
fallback: 'style-loader',
use: [{
loader: 'css-loader',
options: {
minimize: false,
autoprefixer: true,
sourceMap: true,
importLoaders: 1
}
}, 'postcss-loader', 'sass-loader']
})
}
]
},
plugins: [
new ExtractTextPlugin({
filename: './assets/css/style.css',
disable: false,
allChunks: true
}),
]
}
这是我的postcsss.config.js
module.exports = {
plugins: function () {
return [
require('precss'),
require('autoprefixer')
];
}
}
当我构建时,所有 bootstrap css 都被添加到 style.css 但它没有提供自动前缀 css 文件。供应商前缀是必须的,因为它是 BS4,所以有 flex。
谢谢。
这是我对 bootstrap v4
的配置
webpack.config.js(用于生产)
test: /\.scss$/,
exclude: /node_modules/,
use: ExtractTextPlugin.extract({
fallback: 'style-loader',
use: 'css-loader!resolve-url-loader!postcss-loader!sass-loader',
}),
webpack.config.js(用于开发)
test: /\.scss$/,
exclude: /node_modules/,
use: [
{
loader: 'style-loader',
},
{
loader: 'css-loader',
options: {
sourceMap: true,
},
},
{
loader: 'resolve-url-loader',
},
{
loader: 'postcss-loader',
options: {
sourceMap: true,
},
},
{
loader: 'sass-loader',
options: {
sourceMap: true,
},
},
],
postcss.config.js
module.exports = {
plugins: [
require('postcss-cssnext')({
browserslist: [
'> 1%',
'last 2 versions',
],
}),
],
};
在我的 main.scss 中,我像这样导入 bootstrap
@import '~bootstrap/scss/bootstrap';
波浪号 (~) 告诉 webpack 从 node_modules
导入
如果您打算使用以上配置,您还需要安装一些软件包
- postcss-cssnext
- 解析-url-加载器
我使用 post-cssnext 代替 autoprefixer.
我正在尝试使用 web pack 设置 bootstrap,但是当我 运行 构建时它没有提供 CSS 的自动前缀版本。
在 custom.scss 中,我添加了我的自定义项,然后从我的节点模块中导入了 bootstrap。
这是我的webpack.config.js
module.exports = {
entry: {
scss: ['./src/scss/custom.scss']
},
module: {
rules: [
{
test: /\.scss$/,
loader: ExtractTextPlugin.extract({
fallback: 'style-loader',
use: [{
loader: 'css-loader',
options: {
minimize: false,
autoprefixer: true,
sourceMap: true,
importLoaders: 1
}
}, 'postcss-loader', 'sass-loader']
})
}
]
},
plugins: [
new ExtractTextPlugin({
filename: './assets/css/style.css',
disable: false,
allChunks: true
}),
]
}
这是我的postcsss.config.js
module.exports = {
plugins: function () {
return [
require('precss'),
require('autoprefixer')
];
}
}
当我构建时,所有 bootstrap css 都被添加到 style.css 但它没有提供自动前缀 css 文件。供应商前缀是必须的,因为它是 BS4,所以有 flex。
谢谢。
这是我对 bootstrap v4
的配置webpack.config.js(用于生产)
test: /\.scss$/,
exclude: /node_modules/,
use: ExtractTextPlugin.extract({
fallback: 'style-loader',
use: 'css-loader!resolve-url-loader!postcss-loader!sass-loader',
}),
webpack.config.js(用于开发)
test: /\.scss$/,
exclude: /node_modules/,
use: [
{
loader: 'style-loader',
},
{
loader: 'css-loader',
options: {
sourceMap: true,
},
},
{
loader: 'resolve-url-loader',
},
{
loader: 'postcss-loader',
options: {
sourceMap: true,
},
},
{
loader: 'sass-loader',
options: {
sourceMap: true,
},
},
],
postcss.config.js
module.exports = {
plugins: [
require('postcss-cssnext')({
browserslist: [
'> 1%',
'last 2 versions',
],
}),
],
};
在我的 main.scss 中,我像这样导入 bootstrap
@import '~bootstrap/scss/bootstrap';
波浪号 (~) 告诉 webpack 从 node_modules
导入如果您打算使用以上配置,您还需要安装一些软件包
- postcss-cssnext
- 解析-url-加载器
我使用 post-cssnext 代替 autoprefixer.