AngularJS - Grunt:是否存在一种解决方案来构建仅包含所需模块的正在运行的应用程序

AngularJS - Grunt: Does a solution exist to build a running application with only desired modules

本文关键字:包含所 构建 模块 运行 应用程序 解决方案 是否 Grunt 存在 一种 AngularJS      更新时间:2023-09-26

我正在对应用程序进行重构,我想遵循 John Papa 的指南,因为我发现它们在我的情况下非常有趣和有用: John Papa 指南 - 应用程序结构

因此,我到达了决定将应用程序拆分为与功能相对应的不同模块的部分。假设一个模块用于帐户功能,一个模块用于传输功能,一个模块用于用户设置功能。

我可以根据 John Papa 的建议做得很好:一个应用程序模块和另外三个模块(帐户模块.js、传输模块.js和用户设置模块.js)及其相应的导航(状态配置.js等)。

我希望我已经足够清楚了,因为现在棘手的部分来:D

的想法是,我想根据我想要的东西构建两个(或更多)不同的应用程序。例如,我想构建一个没有传输模块的应用程序,并在我的咕噜声过程中执行此操作(通过配置)。

目前我正在使用include_source咕噜声,稍后再grunt_war,但没有办法在"角度模块"上下文中更多,而不是使用正则表达式来指定我想要的文件。例如,这些任务不允许我们说"好的,我想打包这个,这个和这个模块"(那太棒了!

我认为大型应用程序应该遇到这个问题,因为它们没有向每个客户提供所有业务模块,而是使其可配置(至少我希望他们是这样做的)。

问题是怎么做?他们做到了吗?是手动(废话),还是他们为此目的编写了一些自定义的 grunt (gulp) 任务或一些自定义脚本?


奖励问题:让我们想象一下,我们生活在一个梦幻世界中,并且为此存在一项艰巨的任务。我的下一个问题是,如何在我的应用程序中管理它以配置我的导航(菜单中不再有传输按钮)。我认为如果 grunt 任务和应用程序使用相同的配置文件,那不会有问题,我将能够使用 grunt-angular-settings 任务在我的应用程序中有一个常量。

感谢您的关注,我很想阅读您的:)

问候,亚辛·盖尔

很有趣。

看看angular.js本身是如何构建工件的。 在 SRC 代码中,它有一堆分散在不同的文件夹中的模块。 它引入了处理构建过程lib/grunt/utilslib/grunt/plugins,例如哪些模块应该进入哪个目标文件。 您可能有兴趣尝试相同的方法,祝您好运。


https://github.com/angular/angular.js/blob/master/Gruntfile.js#L166

相关文章: