永远运行sail.js + angularjs项目获取未知提供者:

时间:2015-12-01 07:10:35

标签: javascript angularjs node.js sails.js

我有一个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正在工作,但在生产模式下没有。

1 个答案:

答案 0 :(得分:1)

a可能是一种缩小形式的东西。如果您缩小代码并且在以下两种方式之一中正确地annotate your injected functions,则会发生这种情况:

['$http', '$timeout', function($http, $timeout) {
  ...
}]

function myFun($http, $timeout) {
};
myFun.$inject = ['$http', '$timeout'];