javascript - Grunt.js 连接并中断 angular.js 项目?

标签 javascript node.js angularjs gruntjs

我有一个 Angular.js 项目。我可以使用 grunt serve 并且它运行完美。但是,当我将它构建到 dist 文件夹时,它不会运行并且控制台抛出错误:

Uncaught Error: [$injector:modulerr] Failed to instantiate module designSystemApp due to:
Error: [$injector:unpr] Unknown provider: a
http://errors.angularjs.org/1.2.6/$injector/unpr?p0=a
at http://0.0.0.0:9000/scripts/vendor.js:3:30474
at ...<omitted>...2) 

构建过程没有任何错误,文件(Bower 组件)连接到 vendor.js 中。但是浏览器出错了。该错误是针对最小化文件的,因此调试错误有点困难。有人以前见过这个吗?

我的 grunt 文件在这里:https://gist.github.com/smlombardi/7fa15161b60c2f63f416

我有点迷茫。谢谢。

最佳答案

您可以通过多种方式处理依赖注入(inject)。例如:

function injectableFunc($someService, someOtherDependency) {...}

['$someService', 'someOtherDependency', 
    function (thisWillBeSomeService, nameDoesNotMatter) {...}]

主要区别在于第二种形式在缩小后“幸存”,因为依赖关系由数组的第一个字符串项标识(并且字符串不会缩小)。
第二种形式在缩小后会中断,因为变量名(用于识别注入(inject)剂)发生了变化。

如果您的工作流程包括缩小(它应该),您可以:

  1. 使用第二种形式
  2. 使用 ngmin 用于缩小,可以在不破坏应用程序的情况下处理第一种形式。

关于javascript - Grunt.js 连接并中断 angular.js 项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23505300/

相关文章:

javascript - 如何从 Web url 加载元数据,类似于我们在状态更新上发布 url 时 facebook 所做的事情...?

angularjs - Dart polymer 布线

javascript - Jquery $(window).height() 在为文档元素设置高度时给出错误的值

javascript - 链接到 Windows 应用商店中的应用程序

javascript - 重绘相同的 Canvas 线条不准确

javascript - Node.JS - 无法从 package.json 跨脚本导出环境变量

for循环中的Javascript内存使用

node.js - Sequelize 关联: same field with multiple table is possible?

javascript - Javascript 中 'nested' try/catch 语句的困惑

javascript - 发布 http ://localhost:3000/404 (Not Found)