// 坑爹的文档记录方式 // 1. 前端模块化的理解。 // 主流的分为了三种: // 1) CommonJS:每一个js文件都是一个模块,module.exports导出,require导入。 // 加载某个模块,实质上是加载module.exports属性。就是把另一个js文件导出的东西,塞进了当前js文件。 // 因为是同步加载模块,服务端的模块都在本地磁盘中,所以很适用于服务端。但是对于浏览器环境,异步方案显然更加适合 // 2) AMD: CommonJS加载模块是同步的,意味着需要等待模块加载完成才能执行后续操作。AMD则是异步的,模块加载完成会自动执行回调。 // define的调用方式,看的真特么费劲。 // 3) CMD规范专门用于浏览器端,模块的加载是异步的,模块使用时才会加载执行。 // 4) es6的模块化设计。与CommonJS最大的不同在于。前者是值的引用,后者则是值的拷贝。 // CommonJS 模块是运行时加载,ES6 模块是编译时输出接口。 let count = require('./test.js').count let add = require('./test.js').add console.log('count1:', count) add() console.log('count2:', count) // 2. 页面之间的通信方式