区别:Webpack css-loader 和 raw-loader

Difference: Webpack css-loader and raw-loader

所以根据css-loader加载文件为字符串,根据require解析webpack依赖,style-loader在页面中插入样式标签,在很多在某些情况下,css-loader 可以替换为 raw-loader

我目前正在使用:

loader: ExtractTextPlugin.extract("raw-loader!postcss-loader!sass-loader?sourceMap&" + sassIncludePaths.join(""))

并且 .scss 文件中有 require,但我还没有发现 raw-loader 有问题。所以问题是:

  1. 两者到底有什么区别?
  2. 如果我将 css-loader 替换为 raw-loader 以减少 运行 时间,可能会有什么问题?

根据我自己的理解:

raw-loadercss-loader的主要区别在于前者按原样加载文件,而后者通过webpack排序require。因此,css-loader 的通常用例是将它与 style-loader 结合使用,后者会在页面中插入一个标记,以便它仅包含该页面上使用的样式。

然而,在我们的例子中,我们 extractTextPlugin 将它们合并到一个文件中,所以我们可以只使用 raw-loader 代替,这样可以节省几乎一半的时间。

还有 sass-loader resolves @imports too,这是我们使用的唯一依赖项,因此设置应该会更好。