我有一个sail.js项目,我正在使用angularjs。每当我尝试运行项目时,它都会使用在开发模式下运行的风帆:sails lift
。但是如果我在生产模式下运行sails lift --prod
。我收到了这个错误:
Uncaught Error: [$injector:modulerr] Failed to instantiate module cineApp due to:
Error: [$injector:unpr] Unknown provider: a
http://errors.angularjs.org/1.4.7/$injector/unpr?p0=a
at http://localhost:1337/min/production.min.js:3:6452
at http://localhost:1337/min/production.min.js:3:25864
at d (http://localhost:1337/min/production.min.js:3:25034)
at Object.e [as invoke] (http://localhost:1337/min/production.min.js:3:25371)
at d (http://localhost:1337/min/production.min.js:3:24422)
at http://localhost:1337/min/production.min.js:3:24546
at f (http://localhost:1337/min/production.min.js:3:6859)
at n (http://localhost:1337/min/production.min.js:3:24323)
at $a (http://localhost:1337/min/production.min.js:3:26013)
at h (http://localhost:1337/min/production.min.js:3:13536)
http://errors.angularjs.org/1.4.7/$injector/modulerr?p0=cineApp&p1=Error%3A…tp%3A%2F%2Ffl.limijiaoyin.com%3A1337%2Fmin%2Fproduction.min.js%3A3%3A13536)
我在app.js中定义了角度app,位于assets / js / app.js。
var cineApp = angular.module('cineApp', ['ngRoute', 'ui.bootstrap']);
因此,当帆在开发模式下运行时,为什么angularjs正在工作,但在生产模式下没有。
答案 0 :(得分:1)
a
可能是一种缩小形式的东西。如果您缩小代码并且在以下两种方式之一中正确地annotate your injected functions,则会发生这种情况:
['$http', '$timeout', function($http, $timeout) {
...
}]
function myFun($http, $timeout) {
};
myFun.$inject = ['$http', '$timeout'];