如何将多个scss文件捆绑到一个文件中

时间:2021-05-05 16:26:30

标签: javascript css webpack sass

我正在使用 webpack 将文件从 src/theme 移动到 dist/。现在我有文件夹 src/theme/assets/scss/,我想在其中存储多个 scss 文件,例如 module1.scssmodule2.scss

输出应该是,这两个文件都被捆绑在一个名为 custom.scss 的文件中,进入 dist/assets/custom.scss

我是这样试的:

const path = require('path');
const CopyPlugin = require('copy-webpack-plugin');

module.exports = {
    mode: 'development',
    entry: [
        path.resolve(__dirname, 'src/index.js'),
        path.resolve(__dirname, '/src/theme/assets/scss/module1.scss'),
        path.resolve(__dirname, '/src/theme/assets/scss/module2.scss'),
    ],
    output: {
        filename: 'bundle.[name].js',
        path: path.resolve(__dirname, 'dist')
    },
    module: {
        rules: [
            {
                test: /\.scss$/,
                use: [
                    {
                        loader: 'file-loader',
                        options: {
                            name: 'custom.css',
                            outputPath: 'assets/'
                        }
                    },
                    "sass-loader"
                ]
            },
        ]
    },
};

第一个问题是,我不能使用任何通配符作为入口点,因为我想创建 n-scss 文件。第二个问题是,使用两个入口点,出现如下错误:

ERROR in Conflict: Multiple assets emit different content to the same filename assets/custom.css

0 个答案:

没有答案