我正在尝试创建一个仅解析此语法的内容的加载器:
{{ 'assets/someimage.png'|theme }}
每个匹配项都应作为 webpack 依赖项从根 webpack 目录添加,而不会对最终内容进行任何更改(CMS 模板需要此语法)
这是我去过的地方:
let path = require('path'),
themeRegex = /\{\{[\s?]*["|'|`](.*[\.[png|jpe?g|gif|ico])["|'|`][\s?]*\|[\s?]*theme[\s?]*\}\}/g;
module.exports = function (content, map, meta) {
while ((themeFilterRequest = themeRegex.exec(content)) !== null) {
var srcPath = path.join(this.rootContext, 'src')
this.resolve(srcPath, './'+themeFilterRequest[1], (err, result) => {
if (err) throw err
console.log(result)
})
}
return 'module.exports = [\n' +
JSON.stringify(content) +
'\n].join();'
};
但目前,该文件没有加载到正确的位置。它实际上是在我的 dist 文件夹中创建的,但仅在 png 扩展文件中包含文本“assets/someimage.png”...
如何二进制加载文件?
谢谢!