import和require的区别

import是ES6标准中的模块化解决方案,require是node中遵循CommonJS规范的模块化解决方案。

后者支持动态引入,也就是require(${path}/xx.js),前者目前不支持,但是已有提案。

前者是关键词,后者不是。

前者是编译时加载,必须放在模块顶部,在性能上比后者好一些;后者是运行时加载,理论来说放在哪里都可以。

前者采用的是实时绑定方式,即导入和导出的值都指向同一个内存地址,所以导入的值会随着导出值变化;而后者在导出时是指拷贝,就算导出的值变化了,导入的值也不会变化,如果想要更新导入的值,就要重新导入。

前者会编译成require/exports来执行。

相关推荐
东方雴翾4 分钟前
Scala语言的分治算法
开发语言·后端·golang
李慕瑶9 分钟前
Scala语言的移动UI设计
开发语言·后端·golang
ツ箫声断丶何处莫凭栏90212 分钟前
C++中的多态和模板
c语言·开发语言·c++
前端开发张小七14 分钟前
13.Python Socket服务端开发指南
前端·python
前端开发张小七15 分钟前
14.Python Socket客户端开发指南
前端·python
ElasticPDF-新国产PDF编辑器31 分钟前
Vue 项目 PDF 批注插件库在线版 API 示例教程
前端·vue.js·pdf
审计侠37 分钟前
Go语言-初学者日记(八):构建、部署与 Docker 化
开发语言·后端·golang
拉不动的猪37 分钟前
react基础2
前端·javascript·面试
kovlistudio37 分钟前
红宝书第二十九讲:详解编辑器和IDE:VS Code与WebStorm
开发语言·前端·javascript·ide·学习·编辑器·webstorm