webpack - 使用 Webpack 从 css 解析绝对路径
问题描述
我有一个项目,我正在从 node_modules 导入 CSS 规则。它们具有指向它们的剪辑路径,带有绝对 URL,因此这些不适用于当前设置。
我正在尝试使用 Webpack 解决它,因为它通常会使其适用于所有图像。
我的 webpack 设置是:
{
test: /\.(css|scss)?$/,
use: ['style-loader', MiniCssExtractPlugin.loader, 'css-loader', 'postcss-loader', 'sass-loader']
},
{
test: /\.(svg|png|jpg|eot|woff|woff2)?$/,
include: [
path.resolve(basePath, 'project/frontend/scss'),
],
use: {
loader: "file-loader",
options: {
name: '[name].[ext]',
outputPath: 'assets/fonts/'
}
}
我有一个包含此样式的样式表(来自 node_modules):
.background {
background: url('/img/image.svg');
font-color: '#cecece';
}
样式正在添加到 HTML 中,并且font-colour
正在应用中。但是,样式无法解析路径,因为在导入样式时,由于某种原因它无法在其子模块中找到图像,因此另一种选择是使其相对,并允许它找到它:
.background {
background: url('./img/image.svg');
}
但我无法用我的 webpack 配置解决它。我试过这个,因为我有一个包含图像(以及样式)的子模块。目的是用来开发另一个应用程序的小概念。
但是我不知道如何将路径映射到图像,如果可以避免的话,我不想解析初始项目中的所有图像路径。
它没有给出任何错误,只是没有解析路径'/img/image.svg'。
我尝试了许多解决方案,但都没有成功。所以,我想知道我是否缺少任何想法或解决方案。
解决方案
推荐阅读
- javascript - 重构nodejs进行维护的问题
- python - 如何使所有批次共享一层(批次大小为1)?
- python - 过滤不在列表中的熊猫数据框列名
- javascript - this.joinGame 不是函数吗?
- c++ - 数组中出现大于 size/2 的元素
- r - dplyr:基于向量的过滤器
- sql - 根据前两行中未出现的相同订单提取 ID
- joomla - 致命错误:在布尔值上调用成员函数 getVmUikitParams()
- installation - Sitecore 安装协助 (SIA) 的 Sitecore 10.1 安装错误
- typescript - 类型上不存在属性-带有打字稿的vue