babel6的babel-plugin-add-module-exports插件


干什么的

在 babel 5 時代, export default {}; 除了會被轉譯成 exports.default = {};,還會加一句 module.exports = exports.default,這樣就是樓主想要的整個模塊,但在 babel6 時代做了一個區分,后面這句不再添加。這是為什么呢?在我看來,主要是為了區分 commonJS 和 es6 的模塊定義,也就是 commonJS的 require 和 module.exports 搭配使用,而 import 則是和 export 搭配使用,因為在 babel 中,雖然是輸出到 exports.default上,但 import 也會對應的默認去拿 default 下的模塊,相當於 require(xxx)[‘default’]。如果樓主非想要回到 babel5 時候的表現的話,babel6 有一個 plugin 可以做到。https://www.npmjs.com/package/babel-plugin-add-module-exports

吐槽

babel6的做法是符合es6的規范的,沒有必要再回到babel5。即使使用起來挺方便的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM