1、H5页面,引入 requireJS和其配置文件;同时使用 angularJS的模块
index.html
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title>AngularJS+RequireJS</title>
<script type="text/javascript" src="require.js" data-main="main.js"></script>
</head>
<body>
<div ng-controller="ctrlLogin">
<label>
<input type="text" ng-model="name"/>
</label>
<span ng-bind="name"></span>
</div>
</body>
</html>
2、requireJS 定义加载路径(可以加载样式和js文件),在这里加载angularJS 和 自定义的组件
main.js
require.config({
//定义基础路径,其他的path等路径是基于基础路径进行引入的。如果不配置,默认为引入requireJS页面所在的位置
//baseUrl:"scripts/",
//requirejs默认对文件进行js扩展名处理,如果加上js或者以http、https开头,则不处理
paths:{
//定义组件名称,以及组件js所在的路径
"angular":"./angular",
"use":"./use"
},
//
shim:{
"angular":{
exports: "angular"
}
}
});
require(["angular","app"],function(angular,app){
//angularjs 启动
angular.bootstrap(document,['TestAll']);
});
3、实现 angularJS 组件化的 控件或服务
use.js
define(["angular"],function(angular){
var app=angular.module("use",[]);
app.service('myService', ['$rootScope', function($rootScope) {
this.value="use";
}]);
});
4、应用二次开发 angularJS的代码,引入组件
app.js
define(["angular","use"],function(angular){
var app=angular.module("TestAll",["use"]);
app.controller('ctrlLogin',['$scope','myService',function($scope, myService){
$scope.name="ketty" + myService.value;
}]);
});