【发布时间】:2021-06-04 14:53:42
【问题描述】:
我正在使用以下 webpack 配置来处理/加载我所有的 sass 文件。一个重要的项目是我使用additionalData 预先附加我的常用样式。但是,这会导致冲突,因为我的 webpack 条目是任何和所有 sass 文件,这意味着我的 commonStyles.scss 已经被加载。当我运行我的应用程序时,我收到以下错误:
错误消息:
SassError: This file is already being loaded.
╷
1 │ @import "src/styles/commonStyles.scss";
│ ^^^^^^^^^^^^^^^^^^^^^^^
╵
src/styles/sizes.scss 1:9 root stylesheet
如何在我的应用程序中创建一个包含 所有 sass 文件的入口点除了/排除 commonStyles.scss(或者更好的是,@987654326 中的任何文件@ 文件夹)?感谢您的帮助!
webpack 配置:
'use strict';
const fs = require('fs');
const glob = require('glob');
const path = require('path');
const sassRegex = /\.(scss|sass)$/;
module.exports = {
mode: 'production',
bail: true,
devtool: false,
entry: glob.sync(`${path.resolve(fs.realpathSync(process.cwd()), 'src')}/**/*.{css,scss}`),
output: {
path: 'build',
},
module: {
rules: [
{
test: sassRegex,
exclude: /node_modules/,
use: [
{
loader: 'sass-loader',
options: {
sourceMap: true,
additionalData: `@import "src/styles/commonStyles.scss";`,
},
},
],
},
],
},
};
【问题讨论】:
-
请重新搜索有关 Webpack 条件的更多信息。试试这里,希望对你有帮助:webpack.js.org/configuration/module/#condition
标签: javascript css webpack sass