CPPAlien / JS-QA

前端知识问答
0 stars 0 forks source link

ES Module #15

Open CPPAlien opened 5 years ago

CPPAlien commented 5 years ago

ES Module 是 ES6 之后出现的,与之相对的是 node 引用的 CommonJS/AMD/UMD 形式。 由于 CommonJS 未区分 ES Module 的 export default 这种形式,所以Typescript 在把 ES6 翻译成 CommonJS 时,会加一个 exports.__esModule = true,把 export default 内容放到 exports.default 中。

commonJS 引入方式变为

const d = require("foo").default

https://stackoverflow.com/questions/50943704/whats-the-purpose-of-object-definepropertyexports-esmodule-value-0

CPPAlien commented 5 years ago

exports 和 module.exports 区别 exports.exports = 'a' // {exports: "a"} module.exports = 'a' // a