webpack - sass-loader 给出 'at-rule is not allowed' 错误
问题描述
我正在使用webpack@5.58.1
和。我的项目使用来自 node_modules 的 scss 文件。当我构建项目时,webpack 给了我一堆看起来像的错误sass-loader@12.1.0
dart-sass
SassError: This at-rule is not allowed here.
╷
64 │ @import "../../styles/_appwork/include";
│ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
这是我对 sass 文件的规则配置:
{
test: /\.s[ac]ss$/i,
use: [
{ loader: 'style-loader' },
{
loader: 'css-loader',
options: {
importLoaders: 1,
},
},
{ loader: 'resolve-url-loader' },
{
loader: 'sass-loader',
options: {
// Prefer `dart-sass`
implementation: require.resolve('sass'),
sassOptions: {
indentWidth: 4,
},
},
},
],
},
我的假设是 sass-loader 完全合并了 scss 文件,之后它无法正确导入依赖项。我试图用 替换 style-loader { loader: MiniCssExtractPlugin.loader },
,但它并没有真正改变任何事情。
解决方案
我解决了这个问题,只是简单地替换sass
(以前曾经是dart-sass
),node-sass
问题就消失了。
推荐阅读
- python - django.db.utils.DataError: value too long for type character varying(650)
- c++ - C++ - 允许编译器回收已删除的指针变量吗?
- android - 如何让 Last LatLong 使用 FusedLocationProviderClient 进入服务?
- ios - 如何通过 UITapGestureRecognizer 将数据从一个 UIViewController 传递到另一个
- java - JMS 重新交付延迟,如斐波那契数
- node.js - 带有节点 mssql 的 Azure SQL 给出奇怪的错误
- actionscript-3 - 变量定义为字符串
- terminal - 字符显示宽度的终端控制序列?
- listview - 如何删除 Flutter ListView 中的剪辑?
- r - R:如何将相同的变量(行号)添加到列表中的每个数据框?