import和require的区别

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

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

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

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

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

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

相关推荐
api_180079054609 小时前
异步数据采集实践:用 Python/Node.js 构建高并发淘宝商品 API 调用引擎
大数据·开发语言·数据库·数据挖掘·node.js
Mintopia9 小时前
⚡ AI 时代,全栈 Next.js 开发的激情在哪里?
前端·aigc·全栈
Hello123网站9 小时前
300多个Html5小游戏列表和下载地址
前端·html·html5
Stringzhua9 小时前
ElementUi【饿了么ui】
前端·ui·elementui
小苏兮9 小时前
【C++】priority_queue和deque的使用与实现
开发语言·c++·学习
古一|10 小时前
vue3都有哪些升级相比vue2-核心响应式系统重构
javascript·vue.js·重构
HHHHHY10 小时前
http接口响应头类型不对,导致svg图片无法预览,前端解决方案
前端·javascript
啊森要自信10 小时前
【GUI自动化测试】Python 自动化测试框架 pytest 全面指南:基础语法、核心特性(参数化 / Fixture)及项目实操
开发语言·python·ui·单元测试·pytest
Komorebi゛10 小时前
【React】配置别名路径
前端·react.js·前端框架
风语者日志10 小时前
CTFSHOW WEB 3
前端