编译资产时,打开资产放大后,我的Rails应用程序无法工作。我将Angular控制器转换为使用方括号表示法,并得到以下错误,是否可以调试此方法?
编译的application.js https://gist.github.com/jianbo/6665161
JS错误
Error: Unknown provider: tProvider <- t at Error (<anonymous>) at me:3001/assets/application-4f6cd4e170fc6ce5d181d869af318557.js:817:21665 at Object.i [as get] (me:3001/assets/application-4f6cd4e170fc6ce5d181d869af318557.js:817:20671) at me:3001/assets/application-4f6cd4e170fc6ce5d181d869af318557.js:817:21753 at i (localme:3001/assets/application-4f6cd4e170fc6ce5d181d869af318557.js:817:20671) at n (me:3001/assets/application-4f6cd4e170fc6ce5d181d869af318557.js:817:20805) at Object.r [as instantiate] (me:3001/assets/application-4f6cd4e170fc6ce5d181d869af318557.js:817:21447) at me:3001/assets/application-4f6cd4e170fc6ce5d181d869af318557.js:818:604 at me:3001/assets/application-4f6cd4e170fc6ce5d181d869af318557.js:817:28889 at r (me:3001/assets/application-4f6cd4e170fc6ce5d181d869af318557.js:817:8277) application-4f6cd4e170fc6ce5d181d869af318557.js:818 (anonymous function) application-4f6cd4e170fc6ce5d181d869af318557.js:818 (anonymous function) application-4f6cd4e170fc6ce5d181d869af318557.js:818 r.$broadcast application-4f6cd4e170fc6ce5d181d869af318557.js:818 (anonymous function) application-4f6cd4e170fc6ce5d181d869af318557.js:818 l application-4f6cd4e170fc6ce5d181d869af318557.js:818 l application-4f6cd4e170fc6ce5d181d869af318557.js:818 (anonymous function) application-4f6cd4e170fc6ce5d181d869af318557.js:818 r.$eval application-4f6cd4e170fc6ce5d181d869af318557.js:818 r.$digest application-4f6cd4e170fc6ce5d181d869af318557.js:818 r.$apply application-4f6cd4e170fc6ce5d181d869af318557.js:818 r application-4f6cd4e170fc6ce5d181d869af318557.js:818 m application-4f6cd4e170fc6ce5d181d869af318557.js:818 v.onreadystatechange application-4f6cd4e170fc6ce5d181d869af318557.js:818
这个错误本身就是Angular所说的,它不知道要为“ t”注入什么。这意味着“ t”必须是某处注射剂的最小名称。
如果它在缩小之前起作用,而在缩小之后却不起作用,那一定是由于某些问题而未使用最小安全注入方法。
我会检查以确保您正在做的所有事情都是minsafe的,并且您也没有在尝试缩小angular.js本身的非minsafe版本。始终使用angular软件包中的.min而不是最小化自己的版本(或者如果要最小化自己的版本,请确保它是minsafe版本)。
这是使控制器具有最低安全性的示例。以下不是最低安全要求:
angular .module('myModule') .controller('MyCtrl', function($scope, myService) { //your non-minsafe controller });
为了使其具有最小安全性,我们将函数调用封装在一个数组中,该数组以要注入的事物开始,并以相同顺序的参数结束于函数调用中:
angular .module('myModule') .controller('MyCtrl', ['$scope', 'myService', function($scope, myService) { //your minsafe controller }]);