总的来说,我想知道如何根据需要在Webpack插件中进行代码生成/制作。我想为那些在需要时不存在的文件生成内容。"
具体来说,我想要一个插件,当我需要一个目录时,会自动要求该目录中的所有文件(递归)。
例如,假设我们有目录结构:
main.js有:
var foo = require("./foo");
// ...
我希望webpack自动生成foo / index.js:
module.exports = {
bar: require("./bar"),
baz: require("./baz")
};
我已经阅读了大部分的webpack文档。 github.com/webpack/docs/wiki/How-to-write-a-plugin有一个生成资产的例子。但是,我无法找到如何按需生成资产的示例。它似乎应该是一个解析器,但解析器似乎只输出文件路径,而不是文件内容。
答案 0 :(得分:1)
实际上是针对您的用例:
你不需要一个插件。见How to load all files in a subdirectories using webpack without require statements具体来说,我想要一个插件,当我需要一个目录时,会自动要求该目录中的所有文件(递归)。
按需执行代码生成/制作 可以很容易地在JavaScript中完成,为什么你限制你的代码生成专门用于仅应用& #34; WebPack需要" ?
由于NodeJS本身将查找index.js,如果您需要 目录,您可以非常轻松生成任意导出:< / p>
//index.js generating dynamic exports
var time = new Date();
var dynamicExport = {
staticFn : function() {
console.log('Time is:', time);
}
}
//dynamically create a function as a property in dynamicExport
//here you could add some file processing logic that is requiring stuff on demand and export it accordingly
dynamicExport['dyn' + time.getDay()] = function() {
console.log('Take this Java!');
}
module.exports = dynamicExport;