seajs+gruntjs模块化开发
更新日期:
作用:模块之间通过基本交互规则,能彼此引用,协同工作;防止冲突和依赖
1、引入sea.js的库 http://seajs.org/docs/#downloads
2、编写js模块 ,define 是一个全局函数,用来定义模块,define(factory)
factory可以是对象、字符串、函数,全面解释:https://github.com/seajs/seajs/issues/242
接下来主要介绍factory是函数的情况:
define(function(require,exports,module){
//编写功能的JavaScript 代码
①require 是一个方法,接受 模块标识 作为唯一参数,用来获取其他模块提供的接口;
require的更多方法http://blog.csdn.net/qq_21773607/article/details/49329329
②exports 是一个对象,用来向外提供模块接口,除了给 exports 对象增加成员,还可以使用 return 直接向外提供接口;
③module 是一个对象,上面存储了与当前模块相关联的一些属性和方法。
});
3.通过seajs.use异步加载模块、exports调用模块
//模块化
服务器端模块化的规范
nodeJS的出现(http://nodejs.org/)
commonJS规范(http://www.commonjs.org/)
浏览器JS的模块化的规范
AMD规范(http://wiki.commonjs.org/wiki/Modules/AsynchronousDefinition)
requireJS库(http://requirejs.org/
CMD规范:详解请参考http://blog.csdn.net/qq_21773607/article/details/49329329
Seajs采用的
//gruntjs搭建线上与线下开发
gruntjs: http://gruntjs.com/
安装流程
先安装nodejs和npm(包管理工具)
npm install -g grunt-cli
npm install grunt –save-dev
grunt –versionnpm install grunt –save-dev
使用流程
插件的概念
package.json
Gruntfile.js
Seajs + gruntjs开发
grunt-cmd-transport
grunt-cmd-concat