import和require的区别

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

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

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

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

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

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

相关推荐
明月看潮生几秒前
青少年编程与数学 02-019 Rust 编程基础 10课题、函数、闭包和迭代器
开发语言·青少年编程·rust·编程与数学
明月看潮生4 分钟前
青少年编程与数学 02-019 Rust 编程基础 09课题、流程控制
开发语言·算法·青少年编程·rust·编程与数学
程序猿小三10 分钟前
python uv的了解与使用
开发语言·python·uv
纯纯沙口10 分钟前
Qt—多线程基础
开发语言·qt
yxc_inspire13 分钟前
基于Qt的app开发第八天
开发语言·c++·qt
_龙衣14 分钟前
将 swagger 接口导入 apifox 查看及调试
前端·javascript·css·vue.js·css3
廖圣平14 分钟前
美团核销 第三方接口供应商 (含接口文档)
开发语言·数据库·php
sunsineq24 分钟前
[超级简单]讲解如何用PHP实现LINE Pay API!
开发语言·php·linepay
上海合宙LuatOS1 小时前
全栈工程师实战手册:LuatOS日志系统开发指南!
java·开发语言·单片机·嵌入式硬件·物联网·php·硬件工程
多敲代码防脱发1 小时前
导出导入Excel文件(详解-基于EasyExcel)
java·开发语言·jvm·数据库·mysql·excel