Webpack 文件加载器将相同的 URL 注入 HTML 和 CSS 文件
Webpack file-loader inject the same URL to the HTML and CSS file
问题是文件加载器总是将相同的 URL 注入 HTML 和 CSS 文件。
我得到了流动的项目结构
Webpack 文件加载器配置
{
test: /\.(gif|png|jpe?g|svg)$/i,
use: [{
loader: 'file-loader',
options: {
name: '[name].[ext]',
outputPath: "assets/images",
publicPath: '../images'
}
}
]
}
当我使用 publicPath: '../images'
它会将流动 URL 注入 HTML 和 CSS 文件
HTML
<img src='../images/team-1@2x.png'/>
CSS
background-image: url(../images/test-image.jpg);
两个 URL 相同,但 CSS 文件没问题。
当我使用 publicPath: './assets/images'
它会将流动 URL 注入 HTML 和 CSS 文件
HTML
<img src='./assets/images/team-1@2x.png' />
CSS
background-image: url(./assets/images/test-image.jpg);
两个 URL 相同,但 HTML 文件没问题。
实际上我想要实现的是文件加载器将不同的 URL 注入 HTML 和 CSS 文件。
看起来像这样
HTML
<img src='./assets/images/team-1@2x.png' />
CSS
background-image: url(../images/test-image.jpg);
如何配置 Webpack 以获得恰好高于结果
使用路径模块可以轻松地将文件路径解析为绝对路径。
将以下内容添加到您的 webpack 配置的顶部(如果尚未存在):
var path = require('path');
然后,您可以使用它来解析不同目录的绝对路径,具体取决于当前工作目录所在的位置。例如:
publicPath: path.resolve('assets', 'images')
以上内容应该可以完美地构建 assets/images 文件夹的绝对路径。它不会给你你在问题中要求的确切结果,但它至少应该解决你的问题。如果没有,请通知我,我可以帮助你。
问题是文件加载器总是将相同的 URL 注入 HTML 和 CSS 文件。
我得到了流动的项目结构
Webpack 文件加载器配置
{
test: /\.(gif|png|jpe?g|svg)$/i,
use: [{
loader: 'file-loader',
options: {
name: '[name].[ext]',
outputPath: "assets/images",
publicPath: '../images'
}
}
]
}
当我使用 publicPath: '../images' 它会将流动 URL 注入 HTML 和 CSS 文件
HTML
<img src='../images/team-1@2x.png'/>
CSS
background-image: url(../images/test-image.jpg);
两个 URL 相同,但 CSS 文件没问题。
当我使用 publicPath: './assets/images' 它会将流动 URL 注入 HTML 和 CSS 文件
HTML
<img src='./assets/images/team-1@2x.png' />
CSS
background-image: url(./assets/images/test-image.jpg);
两个 URL 相同,但 HTML 文件没问题。
实际上我想要实现的是文件加载器将不同的 URL 注入 HTML 和 CSS 文件。
看起来像这样
HTML
<img src='./assets/images/team-1@2x.png' />
CSS
background-image: url(../images/test-image.jpg);
如何配置 Webpack 以获得恰好高于结果
使用路径模块可以轻松地将文件路径解析为绝对路径。
将以下内容添加到您的 webpack 配置的顶部(如果尚未存在):
var path = require('path');
然后,您可以使用它来解析不同目录的绝对路径,具体取决于当前工作目录所在的位置。例如:
publicPath: path.resolve('assets', 'images')
以上内容应该可以完美地构建 assets/images 文件夹的绝对路径。它不会给你你在问题中要求的确切结果,但它至少应该解决你的问题。如果没有,请通知我,我可以帮助你。