我只是将我的程序推送到heroku并且我测试了角度的页面加载了以下错误:
未捕获错误:[$ injector:modulerr]无法实例化模块diceAngularApp,原因如下: 错误:[$ injector:unpr]未知提供者:t
开发工作非常好,所以我不确定问题是什么。要查看错误,您可以访问www.firexion.com/dice
页面我不确定问题的确切位置,因此我不确定要分享哪些代码。这是指向github的链接:https://github.com/Firexion/hundred
我的猜测是它可能在角度app.js中?:
'use strict';
angular
.module('diceAngularApp', [
'ngCookies',
'ngResource',
'ngSanitize',
'ngRoute'
])
.config(function ($routeProvider) {
$routeProvider
.when('/dice', {
templateUrl: '../../views/dice/main.html',
controller: 'DiceController'
})
.otherwise({
redirectTo: '/dice'
});
});
或者我把它包含在我的rails应用程序javascript文件中错了,lumen.js:
// Lumen
// Bootswatch
//= require jquery-2.1.0
//= require jquery_ujs
//= require lumen/loader
//= require lumen/bootswatch
// angular
//= require angular/angular
//= require angular/angular-cookies
//= require angular/angular-resource
//= require angular/angular-route
//= require angular/angular-sanitize
//= require angular/angular-scenario
// dice
//= require dice/app.js
//= require dice/controllers/main.js
//= require dice/dice.js
感谢您提供的任何帮助。
答案 0 :(得分:7)
我强烈怀疑,基于Angular正在寻找变量t的提供者,我猜你不会命名服务/控制器等。是你在某个地方使用缩小/编译器来破坏你的变量。
要解决此问题并使用编译器安全,您需要调整语法。完整的详细信息here,但下面是瘦。
myapp.config(['$routeProvider', function($routeProvider) {
$routeProvider.when('hello/:queryId', {
templateUrl: 'mypartial.html',
controller: MyCtrl,
controllerAs: 'myCtrl',
resolve: {
'myParam': ['myService', '$route', function(myService, $route) {
return myService.get($route.current.params.queryId);
}]
}
});