Discuz! Board

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 30|回复: 0

浅谈require和import

[复制链接]

631

主题

1095

帖子

3781

积分

认证用户组

Rank: 5Rank: 5

积分
3781
发表于 2021-4-2 17:44:22 | 显示全部楼层 |阅读模式
node编程中最重要的思想就是模块化,import和require都是被模块化所使用。

遵循规范
–require 是 AMD规范引入方式
–import是es6的一个语法标准,如果要兼容浏览器的话必须转化成es5的语法

调用时间
–require是运行时调用,所以require理论上可以运用在代码的任何地方
–import是编译时调用,所以必须放在文件开头

本质
–require是赋值过程,其实require的结果就是对象、数字、字符串、函数等,再把require的结果赋值给某个变量
–import是解构过程,但是目前所有的引擎都还没有实现import,我们在node中使用babel支持ES6,也仅仅是将ES6转码为ES5再执行,import语法会被转码为require

require时代的模块
node编程中最重要的思想之一就是模块,而正是这个思想,让JavaScript的大规模工程成为可能。模块化编程在js界流行,也是基于此,随后在浏览器端,requirejs和seajs之类的工具包也出现了,可以说在对应规范下,require统治了ES6之前的所有模块化编程,即使现在,在ES6 module被完全实现之前,还是这样。
————————————————
版权声明:本文为CSDN博主「归小超」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_42966484/article/details/82889608


https://ask.csdn.net/questions/7413122  
关于 import require使用冲突的问题
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|firemail ( 粤ICP备15085507号-1 )

GMT+8, 2021-4-12 13:45 , Processed in 1.086723 second(s), 20 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表