我正在尝试部署一个 meanjs
项目,但似乎无法弄清楚如何使用 grunt 来缩小、合并和丑化该项目。
到目前为止我发现了什么:
- 需要运行 concat
->
ngAnnotate->
uglify (否则代码将无法运行) - 需要按依赖顺序连接(否则无法运行)
通过这种逻辑,我成功地创建了相关第三方库(节点模块)的单个“丑化”版本,但我无法对我编写的模块执行相同的操作。
我尝试过使用 concat 工具,这些工具应该根据依赖项(grunt-concat-in-order、grunt-concat-dependency、grunt-concat-deps)对文件重新排序,但没有任何帮助。只是缺少模块/声明的错误。
我尝试过重新排序应该连接的 js 文件,每次都会缺少其他内容并且网站会部分加载(最多)。 根据文件在编译头中出现的顺序对文件进行重新排序并没有帮助。
是否有一些东西可以根据 Angular 文件的依赖关系或我应该对它们重新排序的一般逻辑来连接它们?
谢谢。
最佳答案
找到了! 显然 JS 和 Angular 很灵活,缺少 ';'在模块/指令声明的末尾。 我已经检查了整个代码并添加了缺少的“;”在适当的地方。
例如:
angular.module('core').filter('xyz', [function() {
.....
}])
终于可以 sleep 了。
*原帖: Angular module().factory() is not a function after concat (gulp) (为马克斯·亚里干杯)
关于angularjs - 如何使用 grunt 丑化一个有 Angular 的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40636956/