【发布时间】:2018-06-03 01:20:12
【问题描述】:
我正在设置 Webpack 3 并且当前正在配置静态图像的资产管理,我想将这些静态图像从我的 src 文件夹复制到我的 dist 文件夹。我想保留我的 /img 文件夹的文件结构,因为它复制到 dist 文件夹,但我遇到的问题是我试图删除部分路径占位符。我正在努力实现的目标可能吗?
我的规则如下:
{
test: /\.(png|jpe?g|gif|ico)$/,
use: [{
loader: 'file-loader',
options: {
name: '[path][name].[ext]?[hash]',
//outputPath: 'img/'
}
}]
}
它通过上下文从我的入口点文件中抓取图像:
require.context('./img/', true, /\.(png|jpe?g|gif|ico)$/);
但是,当文件被复制过来时,因为我将 [path] 占位符作为名称的一部分,所以文件将类似于 /src/img/[name].[extension]?[hash]。我想保持路径的其余部分完好无损,因为一些图像具有/src/img/favicons/[name].[extension]?[hash] 之类的路径,我觉得 dist 文件夹应该保持这种结构。正如您在代码中看到的那样,我尝试使用 outputPath,但这只是将文件设置为/img/src/img/[name].extension?[hash]。我也尝试过使用 publicPath 设置,但它似乎根本没有任何效果。最终目标是让上面提到的 2 个文件在此路径中不包含文件名的 /src 部分。
【问题讨论】:
标签: webpack webpack-file-loader