js模块提供的三种规范html
1.commen.js 规范 表明就是node.js,适合后台开发,由于是同步的,服务器的运行比较快,等待时间不长,commen.js 不适合用于前端,前端的客户是浏览器,浏览器追求的是异步加载,浏览器不能等待太长时间前端
2.前端模块的规范是 amd规范 ,表明就是requirejs,它是异步加载的,不少前端框架都是用的amd规范,好比jquery,angular等node
3.第三个模块化规范是es6jquery
模块化操做webpack
1.commonjs的规范es6
全部的模块化都是两个方向,暴露模块接口和引入模块web
module.exports={} 暴露的是一个叫 exports 的对象gulp
require()引入一个模块浏览器
这是后台的规范,在node.js 环境能够直接运行,可是在客户端不能直接运行,须要对文件打包编译(打包编译的工具备 webpack gulp)前端框架
2.拓展
var a
var a 就是声明一个变量a ,就是浏览器往window 上添加的一个属性 a
3.前端模块
自定义前端模块
案例分析:定义一个a1模块,没有任何的依赖,没有任何的第三方模块,再定义一个 b1模块,b1 模块依赖a1 模块,定义一个主文件 index.js(主文件的名字也不必定非要叫index,看本身需求而定),main.js 依赖 b1.js 模块,看如下图解
这是a1.js 模块
这是 b1.js 模块,此模块依赖a.js 模块
index.js 依赖的 b1.js 的文件
html文件的内容
注意事项:
依赖关系千万不能出错,这种请求是不须要第三方的插件,可是有必定的缺点,会发送屡次请求,依赖关系不能放错顺序
前端模块化规范 amd
1.amd 是前端模块化的一种规范,全称 async module function 异步模块加载机制,因此须要按照这个规范去定义模块和模块的使用
2.require 提供了一个全局的方法 叫define()用来定义模块
定义的模块分两种:(1)不依赖其它模块(2)依赖其它模块
不依赖其它模块
而后再定义一个有依赖的模块,此模块依赖xiaohe模块和jquery'模块(jquery的参数比较特殊,要写成$,这是要求)
这些模块和依赖的模块也都完成了,那如何使用那?
在主文件中分两部分 一部分是 配置模块,一部分是 使用模块