我正在使用Webpack、sass-loader、css-loader和url-loader开发一个ReactJs项目。
我想保留SASS文件中的font-face路径,不进行解析。
但是,当我使用绝对路径(例如:http://fonts.com/my-font.eot或/path/to/my-font.eot)时,该路径不会被解析;而如果我使用相对路径(例如:my-font.eot或path/to/my-font.eot),则url-loader会尝试解析该路径。
在我的情况下,我需要使用相对路径(即使这会导致生成404错误)。
我尝试排除所有字体扩展名,在url-loader中添加该项,但是Webpack无法处理此类型的文件,即使该文件可能不存在。我得到了以下错误信息:
Module parse failed: C:....\fonts\my-font.eot Unexpected character ' ' (1:1) You may need an appropriate loader to handle this file type.
我还尝试禁用css-loader中的"url"选项,但是没有任何效果。我认为我可能没有正确地添加该选项。
这是我的当前代码:
我想保留SASS文件中的font-face路径,不进行解析。
但是,当我使用绝对路径(例如:http://fonts.com/my-font.eot或/path/to/my-font.eot)时,该路径不会被解析;而如果我使用相对路径(例如:my-font.eot或path/to/my-font.eot),则url-loader会尝试解析该路径。
在我的情况下,我需要使用相对路径(即使这会导致生成404错误)。
我尝试排除所有字体扩展名,在url-loader中添加该项,但是Webpack无法处理此类型的文件,即使该文件可能不存在。我得到了以下错误信息:
Module parse failed: C:....\fonts\my-font.eot Unexpected character ' ' (1:1) You may need an appropriate loader to handle this file type.
我还尝试禁用css-loader中的"url"选项,但是没有任何效果。我认为我可能没有正确地添加该选项。
{
test: /\.scss$/,
loaders: ["style-loader", "css-loader", "sass-loader"],
options: { url: false }
},
这是我的当前代码:
module: {
loaders: [
{
exclude: [
/\.html$/,
/\.(js|jsx)$/,
/\.css$/,
/\.scss$/,
/\.json$/,
/\.svg$/
],
loader: 'url',
query: {
limit: 10000,
name: 'path/dist/[name].[hash:8].[ext]'
}
},
{
test: /\.scss$/,
loaders: ["style-loader", "css-loader", "sass-loader"]
},
...
]
},
...
}
url(...)
都会被css-loader和url-loader自动要求。那么,问题是,我如何不要求它们? - saawsann