Webpack 中的 Autoprefixer 没有前缀
Autoprefixer in Webpack not prefixing
我从头开始整理了我的第一个非常简单的 Webpack 配置。在此我想捆绑 JS 并编译、最小化和自动添加 SCSS。
代码如下所示:
webpack.config.js
const path = require('path');
module.exports = {
entry: ['./src/index.js', './src/scss/main.scss'],
output: {
filename: 'application.js',
path: path.resolve(__dirname, 'assets'),
},
module: {
rules: [
{
test: /\.scss$/,
use: [
{
loader: 'file-loader',
options: {
name: 'application.css',
}
},
{
loader: 'extract-loader'
},
{
loader: 'css-loader?-url'
},
{
loader: 'postcss-loader'
},
{
loader: 'sass-loader'
}
]
}
]
}
};
postcss.config.js
module.exports = {
plugins: [
require('autoprefixer')
]
}
并且在 package.json 中我设置了以下内容:
"browserslist": [
"defaults"
],
我没有看到任何前缀,所以我很好奇我做错了什么。我错过了什么吗?
通过执行以下操作确保您已将 autoprefixer 作为开发依赖项安装在项目中:
npm i autoprefixer -D
你的 postcss.config.js 应该是这样的:
const autoprefixer = require('autoprefixer');
module.exports = {
plugins: [autoprefixer,],};
似乎这一直有效。我只是期待 "defaults"
设置创建比实际更多的前缀。将设置更改为 "last 2 versions"
给了我预期的输出。
我从头开始整理了我的第一个非常简单的 Webpack 配置。在此我想捆绑 JS 并编译、最小化和自动添加 SCSS。
代码如下所示:
webpack.config.js
const path = require('path');
module.exports = {
entry: ['./src/index.js', './src/scss/main.scss'],
output: {
filename: 'application.js',
path: path.resolve(__dirname, 'assets'),
},
module: {
rules: [
{
test: /\.scss$/,
use: [
{
loader: 'file-loader',
options: {
name: 'application.css',
}
},
{
loader: 'extract-loader'
},
{
loader: 'css-loader?-url'
},
{
loader: 'postcss-loader'
},
{
loader: 'sass-loader'
}
]
}
]
}
};
postcss.config.js
module.exports = {
plugins: [
require('autoprefixer')
]
}
并且在 package.json 中我设置了以下内容:
"browserslist": [
"defaults"
],
我没有看到任何前缀,所以我很好奇我做错了什么。我错过了什么吗?
通过执行以下操作确保您已将 autoprefixer 作为开发依赖项安装在项目中:
npm i autoprefixer -D
你的 postcss.config.js 应该是这样的:
const autoprefixer = require('autoprefixer');
module.exports = {
plugins: [autoprefixer,],};
似乎这一直有效。我只是期待 "defaults"
设置创建比实际更多的前缀。将设置更改为 "last 2 versions"
给了我预期的输出。