1.模块化:把单独的一个功能封装到一个模块(文件)中,模块之间相互隔离,但是可以通过特定的接口公开内部成员,也可以依赖别的模块
2.模块化开发的好处:(1)方便代码的重用,从而提升开发效率,方便后期维护;(2)解决传统开发模式的命名冲突和文件依赖
3.服务端node中的CommomJS规范:(1)成员导出module.exports={}和exports={} (2)模块化成员导入require('模块标识符')
4.浏览器端的模块化规范:AMD和CMD
5.ES6模块化规范:浏览器端和服务器端通用的模块化开发规范:每个JS文件都是一个独立的模块,导入模块成员使用关键字:import 暴露成员使用关键字:export
6.ES6①默认导出成员 export default {s1,s2} 与默认导入import 接收名称 from '模块化标识符'在每个模块中默认只能使用一次export default 否则会报错,如果没有导出export default任何成员,在另一个文件导入的时候会是一个空对象
7.ES6②按需导出export let s1=10 export let s2=function(){}按需导入语法import {s1 as s3,s2} from '模块化标识符'(其中可以用as起别名),可以N多次按需导出
8.ES6③直接导入并执行模块中的代码:单纯导入摸个模块,并不需要模块向外暴露成员, import './m1.js'