use*_*793 19 ruby-on-rails minify angularjs
在编译资产时打开资源放大后,我的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
Run Code Online (Sandbox Code Playgroud)
Mik*_*ver 48
这个错误本身就是Angular说它不知道要为't'注入什么.这意味着't'必须是某个注射点的缩小名称.
如果它在缩小之前有效但在此之后不能使用,那么它必须是某个地方不使用最小安全注射方法的问题.
我会检查以确保你所做的一切都是安全的,而且你并不是想要缩小angular.js本身的非minsafe版本.始终使用角度包中的.min而不是缩小您自己(或者如果您确实想要缩小自己,请确保它是minsafe版本).
这是一个让控制器安全的例子.以下不是安全的:
angular
.module('myModule')
.controller('MyCtrl', function($scope, myService) {
//your non-minsafe controller
});
Run Code Online (Sandbox Code Playgroud)
为了使它成为minsafe,我们将函数调用封装在一个数组中,该数组以我们想要注入的内容开头,并以相同的参数顺序结束于函数调用中:
angular
.module('myModule')
.controller('MyCtrl', ['$scope', 'myService', function($scope, myService) {
//your minsafe controller
}]);
Run Code Online (Sandbox Code Playgroud)
Jas*_* FB 12
我对gem hiravgandhi/angularjs-rails有同样的问题
通过更改config/environments/production.rb中的设置,我能够在生产中处理minifcation
config.assets.js_compressor = Uglifier.new(mangle:false)
根据gem安装说明使用带有hiravgandhi/angularjs-rails gem的Rails 4.0.2应用程序.
小智 7
我有同样的问题,我发现问题不在.controller调用,它在.config中,它不是minification安全.
var app = angular.module('myModule', ['restangular']);
app.config(function(RestangularProvider) {
RestangularProvider.setDefaultHeaders({'Content-Type': 'application/json'});
RestangularProvider.setBaseUrl('http://myapi.com/api/v1');
});
Run Code Online (Sandbox Code Playgroud)
var app = angular.module('myModule', ['restangular']);
app.config(['RestangularProvider', function(RestangularProvider) {
RestangularProvider.setDefaultHeaders({'Content-Type': 'application/json'});
RestangularProvider.setBaseUrl('http://myapi.com/api/v1');
}]);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
12197 次 |
最近记录: |