首页 > 解决方案 > 如何使 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。

标签: webpacksass

解决方案


css-loader中有一个设置可以禁用 URL 解析:

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

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


推荐阅读