angularAMD+requireJs

定义main.js组件和依赖项:

require.config({
    baseUrl: "js",    
    paths: {
        'angular': '.../angular.min',
        'angular-route': '.../angular-route.min',
        'angularAMD': '.../angularAMD.min'
    },
    shim: { 'angularAMD': ['angular'], 'angular-route': ['angular'] },
    deps: ['app']
});

引入RequireJS文件

<script data-main="js/main.js" src="require.js"></script>

使用RequireJS定义语句创建app.js

define(['angularAMD', 'angular-route'], function (angularAMD) {
    var app = angular.module("webapp", ['ngRoute']);
    app.config(function ($routeProvider) {
        $routeProvider.when("/home", angularAMD.route({
            templateUrl: 'views/home.html', controller: 'HomeCtrl',
            controllerUrl: 'ctrl/home'
        }))
    });
    return angularAMD.bootstrap(app);
});

使用app.register创建控制器

define(['angularAMD'], function (angularAMD) {
    angularAMD.controller('HomeCtrl', function ($scope) {
        $scope.message = "Message from HomeCtrl"; 
    });
});

github: https://github.com/marcoslin/angularAMD

原文地址:https://www.cnblogs.com/hjsblogs/p/8421250.html