如何使用服务器端响应在Angular 2+中引导模块

问题描述 投票:1回答:1

我曾经通过调用服务器来引导您的Angular JS应用程序以获取用户可以访问的模块,我无法想象如何在Angular 2+中

这是一个AngularJS例子

我只使用ngMockE2E作为模拟例子。

 (function (ngNode) {
        angular.module("boostrapApp", ['ngMockE2E']).service('clientModule', function ($http) {
            this.get = function () {
                return $http.get('modules.json');
            }
        }).run(function ($httpBackend) {
            $httpBackend.whenGET('modules.json').respond(function(method, url, data) {

                return [200, ['m1', 'm2', 'm3'], {}];
            });
        });

        angular.bootstrap(ngNode, ['boostrapApp']);

        angular.element(ngNode).injector().get('clientModule').get().then(function (modules) {
            angular.module('app', modules.data);

            angular.module('app').run(['$log', function ($log) {
                $log.info('run app');
            }]);
            angular.bootstrap(document.body, ['app']);
        });
    })(document.createElement('div'));






    angular.module('m1', []).run(['$log', function ($log) {
        $log.info('run m1');
    }]);

    angular.module('m2', []).run(['$log', function ($log) {
        $log.info('run m2');
    }]);

    angular.module('m3', []).run(['$log', function ($log) {
        $log.info('run m3');
    }]);
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.5/angular.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular-mocks/1.6.9/angular-mocks.js"></script>
javascript angular frontend single-page-application
1个回答
0
投票

你可以使用Dynamic Content Loader

© www.soinside.com 2019 - 2024. All rights reserved.