如何获取文件加载器的功能,除了我想先将其作为 lodash 模板处理



>我正在尝试捆绑一个 Web 应用程序清单文件,但它引用了我也希望通过 webpack 解决的图像资产:

manifest.webmanifest

{
"icons": [
{
"src": "<%= require('./icons/icon-72x72.png') %>"
}
]
}

我已file-loader配置为加载.png资产,以便生成的src将是该资产的 URL。

在我的主 HTML 模板中,我像这样加载它:

<link rel="manifest" href="<%= require('./manifest.webmanifest') %>">

我为此使用了html-webpack-plugin,它将 HTML 模板视为 EJS 并正确解析require(),因此没有问题。我的问题是我想对manifest.webmanifest文件做同样的事情,但我不知道什么加载程序(如果有的话(可以实现与html-webpack-plugin相同的结果。

我已经尝试了ejs-loaderhtml-webpack-plugin/lib/loader?forceval-loaderfile-loader的各种组合,但它总是失败,因为require()永远不会被webpack解决。

我需要编写自己的 webpack 插件/加载器吗?我是否必须调用"子编译器"(不管是什么(才能捆绑 PNG 资产?这些高级功能的 webpack 文档不是很清楚。

对于我的特定用例(捆绑 Web 应用程序清单和所有引用的图像资产(,我可以按照 Ifaruki 在评论中的建议使用 webmanifest-loader。

但是,我仍然对任何文件类型的通用解决方案感兴趣,而不仅仅是.webmanifest类型的文件。如果我想出一个解决方案,我会把它包括在这里。

最新更新