Gulp Minify masalah dengan file aplikasi sudut menggunakan requirejs

Kami menggunakan Requirejs sebagai pemuat modul untuk aplikasi Angular kami dan mencoba menggunakan gulp sebagai alat pembuatannya. Memperkecil semua file aplikasi (seperti struktur folder yang sama) dan menggunakannya untuk penerbitan. saat menggunakan versi yang diperkecil mendapatkan kesalahan Unknown provider: e. Kesalahan terjadi saat melakukan bootstrap aplikasi dari file app.js. (... tunjukkan masih ada lagi yang seperti ini)

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;
});

versi asli

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({...

versi yang diperkecil

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({....

Apakah saya melewatkannya, Apakah ini prosedur yang benar untuk mengecilkan file yang diperlukan? Apakah saya perlu mempelajari teknik pengoptimalan lainnya?


person NikhilGoud    schedule 28.08.2017    source sumber


Jawaban (1)


Masalahnya bukan pada minifikasi. Anda perlu menggunakan injeksi ketergantungan di aplikasi Angular

app.config(['$locationProvider', '$stateProvider', '$urlRouterProvider', 'routeResolverProvider', function ($locationProvider, $stateProvider, $urlRouterProvider, routeResolverProvider) {
    //Your code
}]);

Namun, Untuk pengembangan yang lebih cepat, Anda dapat menggunakan gulp-ng-annotate

person Satpal    schedule 28.08.2017
comment
gulp-ng-annotate tentu banyak membantu saya, terima kasih telah merekomendasikan. - person NikhilGoud; 28.08.2017