Gulp 使用 requirejs 减少 angular 应用文件的问题
Gulp Minify issues with angular app files using requirejs
我们使用 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 文件的正确过程吗?
我是否需要研究任何其他优化技术?
问题不在于缩小。您需要在 Angular 应用
中使用 dependency injection
app.config(['$locationProvider', '$stateProvider', '$urlRouterProvider', 'routeResolverProvider', function ($locationProvider, $stateProvider, $urlRouterProvider, routeResolverProvider) {
//Your code
}]);
但是,为了加快开发速度,您可以使用 gulp-ng-annotate
我们使用 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 文件的正确过程吗? 我是否需要研究任何其他优化技术?
问题不在于缩小。您需要在 Angular 应用
中使用 dependency injectionapp.config(['$locationProvider', '$stateProvider', '$urlRouterProvider', 'routeResolverProvider', function ($locationProvider, $stateProvider, $urlRouterProvider, routeResolverProvider) {
//Your code
}]);
但是,为了加快开发速度,您可以使用 gulp-ng-annotate