angularAMD快速入门

ngularAMD是做者 marcoslin 使用 RequireJS + AngularJS开发的前端mvvm框架,所以你能够使用它快速建立一款Web App.他特别适合快速开发SPA应用,适当的和更简单的方式。javascript

 

咱们整合AngularJS和RequireJS不该该是复杂的,它不是angularAMD。在行动中看到它,检测本网站显示的状况下,关键功能。确保加载你最喜欢的开发工具看到按需加载*.js文件做为您切换标签。html

快速入门

定义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文件vue

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

使用RequireJS定义语句建立app.jsjava

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建立控制器node

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

点击这里查看一个简单的示例,你能够在这里查看到详细的帮助文档。git

安装

bower

bower install angularAMD

node

npm install angular-amd 

外链

//cdn.jsdelivr.net/angular.amd/0.2/angularAMD.min.js 

使用

定义require.js 入口文件

咱们定义main.js 做为项目的入口文件,在这里能够定义咱们的组件以及组件的依赖项;而后在deps里设置咱们的项目主文件 app.jsgithub

// 定义入口文件 require.config({ baseUrl: "./js/", urlArgs: 'v=' + (new Date()).getTime() + Math.random() * 10000, paths: { 'angular': './lib/angular.min', 'angular-route': './lib/angular-route', 'angularAMD': './lib/angularAMD.min', 'ngload' : './lib/' + 'ngload.min', 'ng-progress': './lib/ngprogress.min', 'vued.cat': './directive/cat', }, shim: { 'angularAMD': ['angular'], 'angular-route': ['angular'], 'ng-progress': ['angular'], }, deps: ['app'] }); 

启动 AngularJS

当全部的组件依赖项所有被定义完成,那么app.js做为 Angular 项目的入口文件,将开始执行启动程序.web

define(['angularAMD'], function (angularAMD) { var app = angular.module(app_name, ['webapp']); ... // Setup app here. E.g.: run .config with $routeProvider return angularAMD.bootstrap(app); }); 

若是引导程序被触发,那么原有 ng-app就不该该被放置在 HTML中.angularAMD.bootstrap(app)将会取代程序启动。npm

配置路由

经过使用 angularAMD.route 咱们能够动态配置所须要加载的 controllers;

app.config(function ($routeProvider) { $routeProvider.when( "/home", angularAMD.route({ templateUrl: 'views/home.html', controller: 'HomeController', controllerUrl: './js/controller/home' }) ); }); 

angularAMD.route 主要目的是去设置 require.js 中 resolve 去进行惰性加载 controller 以及 view,不管 你传入什么样的参数值进去,都会被返回。

这样访问 index.html#/home 就能够查看所作的修改了

相关连接

文章转载自  angularAMD使用RequireJS和AngularJS快速构建WebApp
相关文章
相关标签/搜索