angularjs - 如何使用 grunt 丑化一个有 Angular 的项目?

标签 angularjs gruntjs concatenation meanjs grunt-contrib-concat

我正在尝试部署一个 meanjs 项目,但似乎无法弄清楚如何使用 grunt 来缩小、合并和丑化该项目。

到目前为止我发现了什么:

  1. 需要运行 concat -> ngAnnotate -> uglify (否则代码将无法运行)
  2. 需要按依赖顺序连接(否则无法运行)

通过这种逻辑,我成功地创建了相关第三方库(节点模块)的单个“丑化”版本,但我无法对我编写的模块执行相同的操作。

我尝试过使用 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/

相关文章:

twitter-bootstrap - 如何使用 Grunt.js 和 Compass 为 Sass 使用 Bootstrap?

javascript - 使用 Grunt (Yeoman) 的多个构建文件夹(多个客户端、多任务、多个目标)

r - 在新列中连接当前行和后续行

php - mysql 查询中的 Concat()

javascript - Angular 不解析 IE9 和 10 中 style 属性中的模板 {{value}}

javascript - 从 javascript 函数调用指令中定义的 Controller 中的方法

javascript - 无法修改 AngularJS 中工厂方法上的变量

javascript - Angular 工厂方法不是函数(dataFactory.addContact 不是函数)

css - gulp-cssimport 在我进行更改后抛出错误

c++ - 获取日期、时间并解析为字符串以及其他一些信息的最快方法是什么?