dou*_*lea 8 javascript webpack
我试图让autoprefixer工作变得非常沮丧.
这是我的webpack.config.js
const HtmlWebPackPlugin = require("html-webpack-plugin");
const MiniCssExtractPlugin = require("mini-css-extract-plugin");
const config = {
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: "babel-loader"
}
},
{
test: /\.(scss)$/,
use: [
MiniCssExtractPlugin.loader,
{ loader: "css-loader", options: {} },
{ loader: "postcss-loader", options: {} },
// {
// loader: "postcss-loader",
// options: {
// ident: "postcss",
// plugins: (loader) => [
// require('autoprefixer')({ browsers: ['defaults']})
// ]
// }
// },
{ loader: "sass-loader", options: {} }
]
},
{
test: /\.mp3$/,
use: {
loader: "file-loader"
}
}
]
},
plugins: [
new HtmlWebPackPlugin({
template: "./src/index.html",
filename: "./index.html"
}),
new MiniCssExtractPlugin({
filename: "main.css"
})
]
};
module.exports = config;
Run Code Online (Sandbox Code Playgroud)
这是我的postcss.config.js
module.exports = {
plugins: [
require('autoprefixer')()
]
}
Run Code Online (Sandbox Code Playgroud)
目前我的package.json正在持有我的browserslist选项
正如您所看到的,我已经尝试使用webpack文件来保存postcss-loader的配置设置,我也尝试创建一个单独的配置文件.
我已经尝试过移动浏览器列表,但我不认为这是我运行的问题npx browserslist
,我可以看到已选择的浏览器列表.
我postcss-loader
在webpack配置中的声明是在css-loader
之前和之后发生的sass-loader
当我运行webpack时,我的控制台也没有收到任何错误,所以不确定发生了什么,但真的可以使用一些帮助!
ync*_*udi 18
不工作但是 { browsers: ['defaults']}
尝试:
{
test: /\.css$/,
use: [
MiniCssExtractPlugin.loader,
'css-loader?modules&importLoaders=1&localIdentName=[local]_[hash:base64:6]',
{
loader: 'postcss-loader',
options: {
plugins: () => [require('autoprefixer')({
'browsers': ['> 1%', 'last 2 versions']
})],
}
},
]
}
Run Code Online (Sandbox Code Playgroud)
要么
// postcss.config.js
module.exports = {
plugins: [
require('autoprefixer')({
'browsers': ['> 1%', 'last 2 versions']
})
]
};
Run Code Online (Sandbox Code Playgroud)
alt*_*gon 12
这里的大图是您实际上在环境中缺少Autoprefixer软件包,因此要解决此问题,您有两种解决方案:
解决方案1
npm install --save-dev postcss-loader autoprefixer
Run Code Online (Sandbox Code Playgroud)
现在,在您的postcss.config.js文件中,您可以添加以下内容:
module.exports = {
plugins: [
require('autoprefixer')({
'browsers': ['> 1%', 'last 2 versions']
})
]
};
Run Code Online (Sandbox Code Playgroud)
解决方案2(推荐)
这来自PostCSS Loader文档,由于您正在使用此软件包,所以这是推荐的方法。
postcss-preset-env包含autoprefixer,因此如果您已经使用预设,则不需要单独添加它。
如您所见,为了获得Autoprefixer,您只需要安装PostCSS Preset Env即可。
npm install --save-dev postcss-loader postcss-preset-env
Run Code Online (Sandbox Code Playgroud)
现在摆脱您的postcss.config.js文件,并将该配置移至webpack.config.js中,使其看起来像这样:
...
rules: [
{
test: /\.(sa|sc|c)ss$/,
use: [
MiniCssExtractPlugin.loader,
{ loader: "css-loader", options: {} },
{
loader: "postcss-loader",
options: {
ident: 'postcss',
plugins: [
require('autoprefixer')({
'browsers': ['> 1%', 'last 2 versions']
}),
]
}
},
{ loader: "sass-loader", options: {} }
]
}
]
...
Run Code Online (Sandbox Code Playgroud)
我希望这会有所帮助,我也花了很长时间才弄清楚;)
小智 5
如上所述,您需要指定浏览器列表。但是webpack.config
,postcss-config
您可以将以下代码简单地添加到package.json
依赖项之后,而不是将其添加到您的和。为我工作。
"browserslist": [
"> 1%",
"last 2 versions"
],
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
18712 次 |
最近记录: |