Pertanyaan AngularJs Lazy Loadng tanpa RequireJS


Dalam aplikasi berskala besar, Bagaimana kita malas memuat modul, pengontrol, layanan kapan pun dibutuhkan tanpa memuatnya di index.html. Di sini saya mengacu untuk memuat seluruh js di html template yang relevan dan tidak di index.html. (Ini bisa berbeda js yang memiliki Modul, beberapa pengendali, layanan, arahan untuk fungsionalitas tertentu atau file js individu yang memiliki beberapa pengontrol atau layanan)

Saya tidak ingin menggunakan RequireJs. Namun, saya mencari solusi dalam sudut itu sendiri.

angular.module( 'my-second-module', ['ui.router'])

.config(function config($stateProvider) {
    $stateProvider
        .state('mainscreen', {
            url: "/mainscreen",
            templateUrl: "app/MyMain.tpl.html"
        })
        .state('mainscreen.sub', {
            url: "/sub",
            controller: 'subCtrl',
            templateUrl: "app/sub.tpl.html"
        })
})
.controller( 'subCtrl', function contractCtrl
    ($scope,$http,$route,$location) {
})
.controller( 'subTwoCtrl', function newContractCtrl($scope,someService,$http,$templateCache) {
.filter('myTypeFilter',function(){
    return function (input,value){       
        return 'Normal';
   };
})
.service('newService', function () {
    var selectedContract = [];
    var hotelObject=[{}];
    return {
        notes:function () {
        },
        addNote:function (noteTitle) {
        }
    };
})
.directive('autocomplete', function($parse) {
return function(scope, element, attrs) {
    var setSelection = $parse(attrs.selection).assign;
    scope.$watch(attrs.autocomplete, function(value) {
        element.autocomplete({
            source: value,
            select: function(event, ui) {
                setSelection(scope, ui.item.value);
                scope.$apply();
            }
        });
    });
};
})
.factory('restService', function(commonService) {
return {
    setReturnMessage: function(res) {
};
})
});

6
2018-03-31 10:45


asal


Jawaban:


Setelah melakukan beberapa penelitian mengidentifikasi bahwa AngularJs berencana untuk menerapkan konsep di atas dalam versi 2.0 mereka. Namun, saya tidak yakin kapan versi itu akan dirilis dan juga ada jalan panjang untuk versi ini yang akan dirilis.

Selanjutnya, setelah melakukan lebih banyak penelitian menemukan bahwa ada kerangka yang disebut Browserify yang akan menjadi pengganti berikutnya untuk RequireJS. Saya percaya kita bisa menggunakan ini untuk modularisasi. Namun, saya belum mencoba ini dengan AngularJs. Tampaknya alat yang bagus.

Ini telah dibahas dalam ng-conf juga. Sudut dengan Browserify

PS. Jika ada yang telah melakukan pengujian dengan Angular dan Browserify Anda dipersilahkan untuk berbagi pengalaman Anda.


0
2018-04-17 10:07



Setelah tim Angular akan merilis angular v2.0, itu akan jauh lebih mudah, tetapi dalam waktu yang berarti Anda dapat menggunakan modul saya untuk memuat banyak hal: ocLazyLoad

Jangan ragu untuk bertanya jika Anda memiliki pertanyaan tentang hal itu.


0
2018-04-29 08:49