js模块

127 阅读1分钟

CommonJs规范

在模块中输出变量及函数用:module.exports = ... 引用模块:const ref = require("module_name");

ES6使用 export 与 export default 导出 变量、函数、文件、模块 使用import引入模块

commonJs输出是值得拷贝,运行时加载,第一次加载后保存缓存。用在node中。 ES6输出的是值得引用,编译时输出接口,用在vue及react中

在vue的单页面应用中,通过‘import’引入的模块属于单例模式,那么编写的‘防抖动’以及‘节流’工具怎么维护自己的变量呢? lodash的 debounce为一个函数,包含返回的闭包及闭包可访问的timer计时器。属于函数执行环境中变量,每次执行debounce返回的都是相互独立的函数环境,所以 timer 是相互独立的。