【问题标题】:Postcss-loader Autoprefixer not working with Webpack 3Postcss-loader Autoprefixer 不适用于 Webpack 3
【发布时间】:2018-05-19 09:19:24
【问题描述】:

我正在尝试使用一系列加载程序将所有 SCSS 文件提取到一个带有ExtractTextPlugin 的文件中。在我拥有的一系列加载程序中,我使用的是postcss-loader 中使用的autoprefixer 插件。但是,似乎没有任何前缀!

我的 webpack 配置如下:

webpack.config.js

const path = require('path');
const autoprefixer = require('autoprefixer');
const ExtractTextPlugin = require('extract-text-webpack-plugin');

const config = {
  context: __dirname,
  entry: {
    app: [
      path.resolve(entrypath),
    ],
  },
  module: {
    rules: [
      {
        test: /\.scss$/,
        use: ExtractTextPlugin.extract({
          fallback: 'style-loader',
          use: [
            'css-loader',
            'sass-loader',
            {
              loader: 'postcss-loader',
              options: {
                plugins: () => [autoprefixer()]
              }
            }
          ]
        }),
      },
    ],
  },
  output: {
    path: path.join(__dirname, '../app/assets/javascripts/generated/'),
  },
  plugins: [
    new ExtractTextPlugin({
      filename: 'compiled-draft-document-scss.css',
      allChunks: true
    }),
  ],
};

module.exports = config;

除了没有添加任何前缀之外,我的输出似乎都很好。以下是我正在使用的软件包的相关版本:

"extract-text-webpack-plugin": "3.0.1",
"webpack": "^3.1.0",
"style-loader": "^0.19.0",
"css-loader": "^0.23.1",
"moment": "^2.11.1",
"postcss-loader": "^0.10.1",
"sass-loader": "^6.0.6",

【问题讨论】:

    标签: webpack webpack-style-loader autoprefixer postcss-loader


    【解决方案1】:

    来自postcss-loaderREADME

    css-loaderstyle-loader 之后使用它,但其他预处理器加载程序之前使用,例如sass|less|stylus-loader.

    所以你的加载器链应该是:

    [
      'css-loader',
      {
        loader: 'postcss-loader',
        options: {
          plugins: () => [autoprefixer()]
        }
      },
      'sass-loader'    
    ]
    

    【讨论】:

    • 不妨在此处添加它,在某些配置中,postcss-loader 还需要像options { ident: 'postcss', plugins: ... } 这样的选项对象中的 ident 键才能使其工作
    • 是的。订单很重要。谢谢
    • 为了增加混乱,它说 before 但加载程序是从下往上运行的。
    【解决方案2】:

    在你的 package.json 文件中,添加

    "browserslist": [
        "> 1%",
        "last 2 versions"
    ]
    

    【讨论】:

      猜你喜欢
      • 2018-09-21
      • 2019-04-19
      • 2018-02-25
      • 2018-07-07
      • 2017-06-20
      • 1970-01-01
      • 2021-04-18
      • 2017-09-13
      • 2017-04-07
      相关资源
      最近更新 更多