我如何使Scss / sass / css-loader无法解析URL调用? 在WebPack内部

问题描述

我在SCSS文件中有多个对url(some-path)调用css-loader坚持将这些URL解析为它所知道的内容。这些包含的文件在服务器/网站上可用,但对WebPack不可见。我怎样才能只接受字符串呢?

在我的scss文件中,我有一个字体,例如:

@font-face {
    font-style: normal;
    font-weight: 400;
    font-family: 'Noto Serif';
    src: url($font-path + 'NotoSerif-Regular.ttf');
}

我得到一个错误

Error: Can't resolve '/static/fonts/NotoSerif-Regular.ttf'

我只希望它发出此字符串而不尝试解析它。我的WebPack文件中没有规则可以告诉它包含TTF文件。我最近升级了sass / css / loader节点模块;在工作之前。

我不知道该错误是来自WebPack还是Sass。

解决方法

css-loader中有一个用于禁用URL解析的设置:

                // Translates CSS into CommonJS
                loader: 'css-loader',options: {
                    url: false,},

其中一个版本升级必须将其默认值更改为true,使其向后不兼容。