使用SystemJS动态加载AngularJS控制器/视图

使用SystemJS动态加载AngularJS控制器/视图,angularjs,systemjs,Angularjs,Systemjs,有没有一种方法可以以模块化的方式动态构建/编写AngularJS 根据SystemJS中的页面路由加载/要求控制器/视图 编辑: 这就是我目前所拥有的,作为使用SystemJS的试用 app.js-这是在index.html中获取导入的主文件 \u index.js-所有控制器的索引 import { navCtrl } from './nav.js'; import { aboutCtrl } from './about.js'; var app = angular.module('seed

有没有一种方法可以以模块化的方式动态构建/编写AngularJS 根据SystemJS中的页面路由加载/要求控制器/视图

编辑: 这就是我目前所拥有的,作为使用SystemJS的试用

app.js-这是在index.html中获取导入的主文件

\u index.js-所有控制器的索引

import { navCtrl } from './nav.js';
import { aboutCtrl } from './about.js';

var app = angular.module('seedApp.controllers', []);

app.controller('navCtrl', navCtrl);
app.controller('aboutCtrl', aboutCtrl);
routes.config.js


简短回答
。 长回答
,但您需要使用angular插件,因为angular 1.x本机不支持这一点(angular 2.x中可能会支持这一点)。 顺便说一句,如果您试图动态加载文件,则需要使用
System.import


希望这会有帮助。

是的。你试过什么?我用一些附加信息编辑了这个问题。我假设使用Babel的系统模块会通过system.register自动使一切动态化。然而,再想想,由于我一次加载所有角度模块,它可能无法工作。因此,出现了这个问题。
import { navCtrl } from './nav.js';
import { aboutCtrl } from './about.js';

var app = angular.module('seedApp.controllers', []);

app.controller('navCtrl', navCtrl);
app.controller('aboutCtrl', aboutCtrl);
import 'angular-ui-router';

var app = angular.module('seedApp.route', ['ui.router']);


app.config(['$stateProvider', '$urlRouterProvider', function($stateProvider, $urlRouterProvider) {

    $urlRouterProvider.otherwise('/');

    $stateProvider
        .state('home', {
            url: '/',
            templateUrl: 'app/views/home.html'
        })
        .state('about', {
            url: '/about',
            templateUrl: 'app/views/about.html',
            controller: 'aboutCtrl as about'
        });
}]);

export default app;