如何通过在捆绑包中包含非导入(也不导出)的文件来慢慢集成webpack?

时间:2017-12-05 16:04:09

标签: angularjs webpack

我正在一个项目中工作,我们希望将Webpack集成到我们的工作流程中。问题是,我们有超过1000个AngularJS文件,并且一次性为所有这些文件添加导入/导出对我们来说不是一个选项。我们想捆绑所有这些并慢慢合并导入/导出,因为我们随着时间的推移处理每个文件。

你会如何解决这个问题?这样做时有什么特定的最佳实践吗?

1 个答案:

答案 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