何时在Webpack 2 module.rules中使用“ use”和“ loader”?

TwistedSt:

我正在将当前项目升级到以前使用Webpack1的Webpack2我研究了一些有关升级的教程,总的来说,我确实了解。

不过,我一直遇到的问题是,我不确定在指定模块规则(加载器)时应何时使用“ use”和“ loader”。起初,我以为use取代了loader我了解这种语法:

module: {
  rules: [{
    test: /\.scss$/,
    use: [
      {
        loader: 'postcss-loader',
        options: {
          plugins: ...
        }
      },
      'sass-loader'
    ]
  }]
}

但是,当我使用ExtractTextPlugin时,似乎不喜欢它use我已经试过了:

      {
        test: /\.scss$/,
        use: [
          {
            loader: ExtractTextPlugin.extract({
              fallbackLoader: 'style-loader',
              loader: scssLoaders
            })
          }]
      },

scssLoaders存在:

var scssLoaders = [
  {
    loader: 'css-loader',
    options: {
      modules: true,
      importLoaders: '2',
      localIdentName: '[name]__[local]__[hash:base64:5]'
    }
  },
  {
    loader: 'postcss-loader'
  },
  {
    loader: 'sass-loader',
    options: {
      outputStyle: 'expanded',
      sourceMap: true,
      sourceMapContents: true
    }
  }
];

在解决其他问题之前,我只会在这里停留。有人可以帮忙解释一下我在这里缺少什么吗?随意询问您需要帮助的其他任何代码!

先感谢您。

阿尔伯特·奥利维(AlbertOlivé):

正如Webpack 2迁移教程所指出的,两者之间的区别在于,如果我们要使用一组加载程序,则必须使用use,如果它只是一个加载程序,则必须使用loader

module: {
   rules: [
      {
        test: /\.jsx$/,
        loader: "babel-loader", // Do not use "use" here
        options: {
          // ...
        }
      },
      {
        test: /\.less$/,
        loader: "style-loader!css-loader!less-loader"
        use: [
          "style-loader",
          "css-loader",
          "less-loader"
        ]
      }
    ]
  }

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

何时在您的webpack配置中使用url-loader?

如何使用 sass @use 和 webpack sass-loader

如何在React和Webpack中使用Sass-loader?

使用vue-loader和webpack2加载Stylus库和Global工作表

如何使用Webpack 2 Raw-Loader读取文件

在webpack css loader中使用外部样式和多个类名

使用Webpack,bookmarklet-loader,样式和css-loader创建书签

使用webpack和babel-loader编译时出错

使用Webpack和svgr loader在.scss中加载SVG

vue-loader:如何在Webpack 4和vue-cli3中使用vue-loader v15

Webpack何时使用`NoErrorsPlugin`?

Webpack 2 eslint-loader自动修复

Webpack 2 sass-loader 意外字符“@”

如何将Webpack babel-loader和es6与worker-loader一起使用?

WebPack 2 - 如何输出到 use/loader 链中的各种其他文件夹

使用webpack,less-loader和extract-text-webpack-plugin避免输出重复

使用Webpack和Typescript-loader导入和翻译外部库

在Webpack 2中使用样式加载器加载一些CSS并使用to-string-loader加载一些CSS

使用webpack和ts-loader重新导出ES6模块

如何使用webpack和css-loader仅加载特定的CSS类?

将worker-loader与vue-cli和webpack一起使用

使用webpack和babel-loader导入ES6模块

如何将Webpack与babel-loader和flow一起使用

在React中将字符串类名称与CSS-loader和Webpack一起使用

使用webpack css-loader的Sourcemaps

如何 webpack 一个 node_module 以在 React 和 ReactNative 中使用

如何在 HtmlWebpackPlugin 和 twig-loader 中使用变量?

在Angular2和Webpack中使用CDN文件

[email protected]:“模块解析失败。您可能需要适当的加载器来处理此文件类型”-尽管使用css-loader和style-loader