为何在js中既可以使用require引用第三方模块,又可以使用import方式引用

如题,我自己写的模块如果是CommonJS封装的,那就只能require进行导入,如果是ECMAScript协议的就只能import方式进行导入,为什么第三方的模块无论用哪种方式都可以导入?是写了两套吗,node进行智能选择?
希望大佬可以回复一下,万分感谢

讨论数量: 2

你可以先试着了解一些 export、exports、module.exports 的区别。export 和 import 是 es6 之后才支持的。

2年前 评论

@Tricker 我知道 export 和 import 是 es6 之后才支持的,就是比较疑惑为什么一个相同的模块可以使用 require 引用,也可以用 import 引用,自己写的模块用的什么规范就只能用符合那个规范的引用方式才能引用,比如 node 的标准模块 path,可以用 require ("path") 引用,也可以用 import path from "path" 来引用,自己写的模块怎样也能这样子引用哪?

2年前 评论
Tricker 2年前
Tricker 2年前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!