У меня есть проект 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, которое расположено в assets/js/app.js.
var cineApp = angular.module('cineApp', ['ngRoute', 'ui.bootstrap']);
Итак, почему angularjs работает, когда паруса работают в режиме разработки, но нет в режиме производства.
a
, вероятно, является мини-формой чего-то. Это произойдет, если вы уменьшите свой код и не будете комментировать ваши введенные функции правильно одним из двух способов:
['$http', '$timeout', function($http, $timeout) {
...
}]
function myFun($http, $timeout) {
};
myFun.$inject = ['$http', '$timeout'];
/min/production.min.js
, а не вставляет файл напрямую. Как видно из трассировки стека, этот файл был сгенерирован и может быть решен, так что это не ваша проблема.
cineApp
перед минификацией?