全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

angular.js + require.js构建模块化单页面应用的方法步骤

前言

本文主要给大家介绍的是关于利用angular.js + require.js构建模块化单页面应用的方法,分享出来供大家参考学习,需要的朋友们下面来一起看看详细的介绍吧。

AngularJS描述:

angularjs是可以用来构建WEB应用的,WEB应用中的一种端对端的完整解决方案。通过开发者呈现一个更高层次的抽象来简化应用的开发。最适合的就是用它来构建一个CRUD应用,它提供了非常方便的且统一高效的解决方案,其数据绑定、基本模版标识符、表单验证、路由、深度链接、组件重用、依赖注入、以及HTML标记等,最受欢迎的莫过于它的双向数据绑定。

requireJS描述:

requireJS是来解决传统的页面加载script标记操作,通过其初始化配置实现按需、并行、延时的载入js库,声明不同js文件之间的依赖关系,它是遵循前端AMD规范(异步模块加载)。js代码可以以模块化的方式进行组织(模块化编程)。模块化的意义就是通过代码逻辑表明模块之间的依赖关系和执行顺序,按照模块逻辑来分解代码,起到配合mvc框架架构项目的作用。

整合:

使用requireJS模块化定义模块质检的依赖关系,打包不需要文件挨个对照,很方便。将script脚本从模版页面中抽离出来,通过js当前模块加载需要依赖的js模块。按需加载。路由更加方便。

实践—–目录结构

这里文件目录可以根据项目需求自由调整

实践—–index.html

和正常的html写法一样,这里要注意引入js时只要引用main和require.js,由require.js去动态加载所需要的js

<div class="main">
 <div class="header">
  <div class="right-bar">
   <span class="welcome">当前用户:<b>...</b> <button class="btn btn-info btn-xs"><i class="fa fa-sign-out"></i> 注销</button></span>
  </div>
 </div>
 <div class="mainContent has-shadow">
  <div ng-view></div>
 </div>
</div>
<script data-main="js/main" src="js/libs/require.js"></script>//只要引用main和require.js

实践—–入口文件main.js

实例化require.js并配置各种js的路径以及依赖关系,初始化整个项目

/**
 * 入口文件
 */
require.config({
 baseUrl: "js/",
 paths: {
  "jquery": "libs/jquery203",
  "angular" : "libs/angular.min",
  "angular-route" : "libs/angular-route.min",
  "angular-sanitize" : "libs/angular-sanitize.min",


  "app" : "controllers/app",
  "loadingInterceptor" : "controllers/loadingInterceptor",
  "run_stateCtrl" : "controllers/run_stateCtrl",

  "route" : "routes/appRoute"
 },
 shim: {
  'angular': {
   exports: 'angular'
  },
  'angular-route':{
   deps: ["angular"],
   exports: 'angular-route'
  },
  'angular-sanitize':{
   deps: ["angular"],
   exports: 'angular-sanitize'
  }
 }
});
require(['jquery','angular','angular-route','angular-sanitize','app','loadingInterceptor','route','run_stateCtrl'],function ($,angular){

  $(function () {

   angular.bootstrap(document,["myApp"]);//初始化整app

  })

});

实践—–建立angular.module 即app.js

建立angular.module,所有的操作都是在angular.module的基础上进行的

/**
 * 建立angular.module
 */
define(['angular'], function (angular) {
 var app = angular.module('myApp', ['ngRoute','ngSanitize','ajaxLoading']);//引入需要以来的模块
 return app;
});

实践—–建立路由

不同的模块被加载进主视图,并绑定控制器

/**
 * 路由
 */
define(['app'], function(app){
 return app.config(['$routeProvider',function($routeProvider) {
   $routeProvider
    .when('/', {
    templateUrl: 'js/views/run_state.html',
    controller: 'run_stateCtrl'
    })
    .when('/xq', {
    templateUrl: 'js/views/xq.html',
    controller: 'xqCtrl'
    })
    .otherwise({ redirectTo: '/' });
 }])
});

实践—–模块控制器

被路由绑定的模块控制器,控制着当前模块的业务流程

define(['app'], function(app){  
 return app.controller('run_stateCtrl', ['$scope','$rootScope','$http', function ($scope,$rootScope,$http) {

   $rootScope.headTitle = $rootScope.title = "hello,angular!";
   $rootScope.appName = $rootScope.span = "angular侧导航";
   $scope.getMore = function(){
    angular.element('.state').text('正在运行')
   };
   $http.get('./json/215145.json').
    success(function(data) {
    $scope.branchs = data.branchs;    
    });
  }])
});

总结

整体的模块搭建完之后,具体的业务流程,根据angularjs的API来具体实现功能。

好了,以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对的支持。


# angularjs  # 页面模块化  # require  # angularjs整合require  # requirejs按需加载angularjs文件实例  # angularJS+requireJS实现controller及directive的按需加载示例  # 探索angularjs+requirejs全面实现按需加载的套路  # 小心!AngularJS结合RequireJS做文件合并压缩的那些坑  # 简单谈谈require模块化jquery和angular的问题  # requirejs AngularJS结合使用示例解析  # 加载  # 绑定  # 按需  # 的是  # 是在  # 好了  # 不需要  # 基础上  # 它是  # 朋友们  # 要注意  # 更高  # 给大家  # 这篇文章  # 谢谢大家  # 可以根据  # 最适合  # 表单  # 所需要  # 最受欢迎 


相关文章: 如何通过VPS建站无需域名直接访问?  香港服务器如何优化才能显著提升网站加载速度?  高端建站三要素:定制模板、企业官网与响应式设计优化  北京网站制作的公司有哪些,北京白云观官方网站?  微课制作网站有哪些,微课网怎么进?  浅析上传头像示例及其注意事项  C++如何将C风格字符串(char*)转换为std::string?(代码示例)  高防服务器租用指南:配置选择与快速部署攻略  建站VPS推荐:2025年高性能服务器配置指南  如何获取免费开源的自助建站系统源码?  如何选择高效可靠的多用户建站源码资源?  ppt在线制作免费网站推荐,有什么下载免费的ppt模板网站?  如何快速选择适合个人网站的云服务器配置?  官网建站费用明细查询_企业建站套餐价格及收费标准指南  金*站制作公司有哪些,金华教育集团官网?  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  制作无缝贴图网站有哪些,3dmax无缝贴图怎么调?  如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  建站之星ASP如何实现CMS高效搭建与安全管理?  如何将凡科建站内容保存为本地文件?  如何快速查询域名建站关键信息?  h5网站制作工具有哪些,h5页面制作工具有哪些?  详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)  如何用景安虚拟主机手机版绑定域名建站?  C#如何在一个XML文件中查找并替换文本内容  javascript中对象的定义、使用以及对象和原型链操作小结  如何通过西部数码建站助手快速创建专业网站?  家庭服务器如何搭建个人网站?  建站之星云端配置指南:模板选择与SEO优化一键生成  如何自定义建站之星网站的导航菜单样式?  已有域名和空间如何搭建网站?  网站图片在线制作软件,怎么在图片上做链接?  江苏网站制作公司有哪些,江苏书法考级官方网站?  济南企业网站制作公司,济南社保单位网上缴费步骤?  岳西云建站教程与模板下载_一站式快速建站系统操作指南  我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  如何通过NAT技术实现内网高效建站?  ,石家庄四十八中学官网?  如何选择可靠的免备案建站服务器?  建站10G流量真的够用吗?如何应对访问高峰?  导航网站建站方案与优化指南:一站式高效搭建技巧解析  安云自助建站系统如何快速提升SEO排名?  如何确保FTP站点访问权限与数据传输安全?  建站主机无法访问?如何排查域名与服务器问题  如何在搬瓦工VPS快速搭建网站?  建站之星伪静态规则如何正确配置?  如何打造高效商业网站?建站目的决定转化率 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。