0

我正在为 Webpack 编写一个加载器,它的一个选项是一个包含 js 文件路径的字符串。然后在我的加载器中需要这个 js 文件,因为我需要从中获取一些数据。问题是我希望 webpack 在我的加载器需要它之前编译这个 js 文件。这样做的原因是我需要 js 文件中的图像,并且我想使用 webpack 的 require 而不是 node 的 require,以便获得该图像的路径。

一些代码可能会有所帮助

装载机:

// ...

//assume options.data is './file.js'
const data = require(options.data);

// ...

文件.js

const img = require('@/assets/my-image.png');

module.exports = { image: img }

这不起作用,因为当我执行require(options.data)节点加载file.js时,当它尝试require('@/assets/my-image.png')节点时会抛出错误,因为很明显,它找不到模块@/assets/my-image.png

我可以loadModule用来获取已处理的源代码,file.js但我不知道如何在请求参数中指定 javascript 加载器或类似的东西loadModule

file.js在我的模块中需要它之前,如何让 webpack 编译?这甚至可能吗?如果没有,有什么解决方法吗?

4

0 回答 0