require/exports、import/export|require/exports、import/export 的区别
require/exports先出现。 它是在js社区的开发者自己草拟的规范中产生的,得到大家认可或广泛应用
import/export是ES6的。
CommonJS 作为 Node.js 的规范,一直沿用至今。由于 npm 上 CommonJS 的类库众多,以及 CommonJS 和 ES6 之间的差异,Node.js 无法直接兼容 ES6。所以现阶段 require/exports 任然是必要且实必须的
1.require的调用时间为运行时调用,所以require可以出现在文件的任何地方。动态加载
2.import是编译时调用,所以必须放在文件头部。静态加载
【require/exports、import/export|require/exports、import/export 的区别】require是赋值过程,其实require的结果就是对象、数字、字符串、函数等,再把require的结果赋值给某个变量
import是解构过程,但是目前所有的引擎都还没有实现import,我们在node中使用babel支持ES6,也仅仅是将ES6转码为ES5再执行,import语法会被转码为require
require/exports 是必要且必须的。因为事实是,目前你编写的 import/export 最终都是编译为 require/exports 来执行的
export default导出的东西只能用import导入。
而module.exports和exports的东西可以以任何一种方式导入。`
a.js
var sex="boy";
var echo=function(value){
console.log(value)
}
export {sex,echo}
b.js
import {sex,echo} from "./ex.js"
console.log(sex)
echo(sex)
html文件(type="module")
推荐阅读
- 一个人的碎碎念
- 野营记-第五章|野营记-第五章 讨伐梦魇兽
- Shell-Bash变量与运算符
- 清明,是追思、是传承、是感恩。
- 牛人进化+|牛人进化+ 按自己的意愿过一生
- 七老修复好敏感、角质层薄、红血丝
- 华为旁!大社区、地铁新盘,佳兆业城市广场五期!
- 标签、语法规范、内联框架、超链接、CSS的编写位置、CSS语法、开发工具、块和内联、常用选择器、后代元素选择器、伪类、伪元素。
- 螃蟹和这些食物同吃,轻则腹泻、重则中毒!要小心哦~
- 八、「料理风云」