import和require的区别

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

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

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

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

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

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

相关推荐
小宁爱Python几秒前
Python 依赖管理神器:requirements.txt 从安装到实战全指南
开发语言·python
Darling噜啦啦1 分钟前
二叉树与递归算法实战:从树结构到 LeetCode 爬楼梯,一文吃透前端数据结构与递归思维
前端·javascript·数据结构
星栈6 分钟前
Rust + Makepad 应用怎么打包发布:Windows、macOS、Linux 全平台交付
前端·rust
俊俊谢13 分钟前
[python]FastAPI + 自建SSE 踩坑全记录
开发语言·python·fastapi
Aolith14 分钟前
React 路由守卫:我用一个组件替代了 Vue 的 beforeEach
前端·react.js
Daybreak18 分钟前
从 PDD、DDD、SDD 到 TDD:我是如何用一套 Agent 工程方法论推进 My-Notion 的
前端
qydz1132 分钟前
杰理开发板做TWS耳机类型方案分享(1)
开发语言·pcb工艺·嵌入式开发·杰理科技
HjhIron1 小时前
从零实现一个待办事项应用:前端必学的Ajax与Node.js实战
前端·后端
yingyima1 小时前
JavaScript 正则表达式:从零开始的实战对比
前端
Cloud_Shy6181 小时前
解读《Effective Python 3rd Edition》:从练气到老魔(第六章 Item 40 - 43)
android·开发语言·人工智能·笔记·python·学习方法