我有一个Angular.js项目。我可以使用grunt发球,它运行得很好。但是,当我将它构建到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
我有点失落。感谢。
答案 0 :(得分:2)
您可以通过各种方式处理依赖注入。 E.g:
function injectableFunc($someService, someOtherDependency) {...}
或
['$someService', 'someOtherDependency',
function (thisWillBeSomeService, nameDoesNotMatter) {...}]
主要区别在于第二种形式“幸存”缩小,因为依赖关系由数组的第一个字符串项标识(并且字符串不会缩小)。
第二种形式在缩小后会中断,因为变量名称(用于识别注射剂)会发生变化。
如果您的工作流程包括缩小(应该如此),您可以: