前端某块化的种种

// 坑爹的文档记录方式

// 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. 页面之间的通信方式

 

上一篇:require和import区别


下一篇:模块化机制(ES6模块化和CommonJS模块化详解)