我正在一个项目中工作,我们希望将Webpack集成到我们的工作流程中。问题是,我们有超过1000个AngularJS文件,并且一次性为所有这些文件添加导入/导出对我们来说不是一个选项。我们想捆绑所有这些并慢慢合并导入/导出,因为我们随着时间的推移处理每个文件。
你会如何解决这个问题?这样做时有什么特定的最佳实践吗?
答案 0 :(得分:2)
我们确实遇到了同样的问题。基本上你想创建"入口点文件"为您的所有文件执行require
,因为这是webpack的工作方式(它遵循依赖关系树)。然后将webpack指向这些"入口点文件"。
上面链接中的示例使用TypeScript,但您可以像这样轻松使用ES5:
# ./entry-points/feature1.js
importAll = function(r) {
r.keys().forEach(r);
};
importAll(require.context('./app/feature1', true, /module\.js$/));
importAll(require.context('./app/feature1', true, /(^(?!.*(spec|module)\.js).*\.js)$/));
您可以抓取Object.keys
here和Array.forEach` here的填充。
然后从webpack配置中指向此文件,如下所示:
entry: {
'feature1': './entry-points/feature1.js'
}
您可以阅读更多详情here