我刚刚将我的程序推送到 heroku 上,我测试 Angular 加载的页面出现以下错误:
Uncaught Error :[$injector:modulerr] 由于以下原因无法实例化模块 diceAngularApp: 错误:[$injector:unpr] 未知提供者:t
它在开发中工作得非常好,所以我不确定问题出在哪里。要查看错误,您可以访问 www.firexion.com/dice 上的页面
我不确定问题的确切位置,因此我不确定要共享哪些代码。这是它的 github 链接:https://github.com/Firexion/hundred
我猜它可能在 angular 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
感谢您提供的一切帮助。
最佳答案
我强烈怀疑,基于 Angular 正在寻找变量 t 的提供者这一事实,我猜你不会命名服务/ Controller /等。这是因为您在某个地方使用了缩小/编译器,这会破坏您的变量。
为了解决这个问题并确保编译器安全,您需要调整语法。全部详情 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);
}]
}
});
关于javascript - 无法在生产环境中实例化模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23851053/