我们使用Requirejs作为Angular应用程序的模块加载器,并尝试使用gulp作为构建工具。
缩小所有应用程序文件(与文件夹结构相同)并使用相同的文件进行发布。使用缩小版本获取错误
Unknown provider: e
。从app.js
文件引导应用程序时抛出错误。 (...表示还有更多这样的东西)
define(['angularAMD', 'jquery', 'angular-ui-router', 'modelBuilderApp', ... ], function (angularAMD, $) {
'use strict';
var app = angular.module('app', ['ui.router',
'modelBuilderApp',....]);
... DO configure app ...
angularAMD.bootstrap(app); //ERROR HERE
return app;
});
原始版本
define(['angularAMD', 'angular-ui-router', 'routeResolver', 'RestService', 'AuthModule', 'smarttable', 'ngScrollable'],
function (angularAMD) {
'use strict';
var app = angular.module('modelBuilderApp', ['ui.router', 'ngScrollable']);
app.config(function ($locationProvider, $stateProvider, $urlRouterProvider, routeResolverProvider) {
var route = routeResolverProvider.route;
$stateProvider
.state('model', angularAMD.route({...
缩小版
define(["angularAMD", "angular-ui-router", "routeResolver", "RestService", "AuthModule", "smarttable", "ngScrollable"],
function (angularAMD) {
"use strict";
var e = angular.module("modelBuilderApp", ["ui.router", "ngScrollable"]);
return e.config(function (e, l, r, t) { //ERROR HERE
var o = t.route;
l.state("model", angularAMD.route({....
我错过了,这是缩小requirejs文件的正确程序吗? 我是否需要研究其他任何优化技术?
答案 0 :(得分:4)
问题不在于缩小。您需要在Angular应用
中使用dependency injectionapp.config(['$locationProvider', '$stateProvider', '$urlRouterProvider', 'routeResolverProvider', function ($locationProvider, $stateProvider, $urlRouterProvider, routeResolverProvider) {
//Your code
}]);
但是,为了加快开发速度,您可以使用gulp-ng-annotate