1.前端的模块化html
js中提供了三种规范前端
1.commonjs规范,表明就是nodejs 适合后台开发 由于是同步的 服务器的运行比较快等待时间不长,commonjs不适合用于前端,前端的客户端是浏览器,浏览器最求异步加载,浏览器不能等待太长时间。node
2. 前端模块的规范是Amd规范 表明就是requirejs,他是异步的,不少前端框架都是用的amd规范,好比jquery angular 等jquery
3.第三个模块化规范是es6webpack
2.模块化的操做es6
1.commonjs的操做web
全部的模块化都是两个方向,暴露模块接口和引入模块。gulp
module.exports={} 暴露的是一个叫exports的对象浏览器
require() 引入一个模块前端框架
这是后台的规范,在nodejs环境能够直接运行,可是在客户端不能直接运行,须要对文件打包解析。webpack gulp。
拓展
var a:
var a 就是声明一个变量a,就是浏览器往window上添加一个属性a。
前端模块
自定义前端模块
案例分析
定义一个a模块,没有任何依赖,定义一个b模块,这个模块依赖a模块,定义一个主文件index.js,依赖b模块。
html文件
注意事项
依赖关系千万不能出错
这种模块的缺点
会发送屡次请求,依赖关系不能放错顺序。
3.前端模块化规范amd
amd是前端模块化的一种规范,全称async module definition 异步模块加载机制,因此须要按照这个去定义模块和使用模块
1.require提供了一个全局的方法 叫define() 用来定义模块
定义模块分两种 1不依赖其余模块 2.依赖其余模块
不依赖其余模块
定义一个有依赖的模块
如何使用这些模块
在主文件中分两部分,一部分是配置模块 一部分是使用模块