如何在webpack中将scss预编译为单个css文件?

Elt*_*ain 5 css sass reactjs webpack webpack-style-loader

将React与webpack一起使用.通过一些文章,但大多数建议为每个组件调用单独的scss文件.但我想将所有css预编译为整个应用程序的单个文件,就像我们使用grunt/gulp一样.

在此输入图像描述

Chr*_*che 4

您可以使用负责编译所有css文件并将它们捆绑在一个文件中的webpack-text-extract-plugginindex.css.

另请注意,您还需要安装sass-loader才能编译scss.

在webpack配置中:

var ExtractTextPlugin = require('extract-text-webpack-plugin');
config = {
    ..., 
    plugins: [
        ...,
        new ExtractTextPlugin('index.css')
    ],
    module: {
        loaders: [
            ...
            {
                test: /\.css$/,
                loader: ExtractTextPlugin.extract('style','css')
            },
            {
                test: /\.scss$/,
                loader: ExtractTextPlugin.extract('style', 'css!sass')
            }
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

在index.html中:

<link rel="stylesheet" type="text/css" href="/index.css">
Run Code Online (Sandbox Code Playgroud)

在通过webpack获取的任何Javascript文件中:

require("./styles/my-custom-file.scss");
Run Code Online (Sandbox Code Playgroud)