站長資訊網
        最全最豐富的資訊網站

        詳解ES6模塊化和CommonJS模塊化的區別

        詳解ES6模塊化和CommonJS模塊化的區別

        ES6 模塊化與 CommonJS 模塊化區別

        在最近的項目中關于 ES6 的 import、export 和 CommonJS 中的 module.exports、require 的使用傻傻搞不清楚,今天下定決心總結一下,有什么不對的地方,還請諸位多多指教。

        ES6 模塊化

        import命令用于輸入其他模塊提供的功能;export命令用于規定模塊的對外接口。

        一、 import 與 export

        // 導出 a.js  /** 寫法一 **/ var name = 'sheep' function getSheep() {     name = 'hourse' } export {getSheep}  // 引入 b.js import {getSheep} from './a.js'   /** 寫法二 **/ var name = 'sheep' export function getSheep() {     name = 'hourse' }  // 引入 b.js  import {getSheep} from './a.js'

        二、 import 與 export defalut

        export 可以有多個,export default 僅有一個

        // 導出 a.js let obj = {     name: 'hello',     getName: function (){         return this.name     }  export default obj  // 引入 b.js  import obj from './a.js'

        CommonJS 模塊化

        一、 require 與 module.exports

        require 在 ES6(bable將import轉化為require) 和 CommonJS 中都支持

        // 導出 a.js  let obj = {     name: 'hello',     getName: function (){         return this.name     }  module.exports = obj  // 引入 b.js  let obj = require('./a.js')

        總結

        • 即使我們使用了 ES6 的模塊系統,如果借助 Babel 的轉換,ES6 的模塊系統最終還是會轉換成 CommonJS 的規范。

        • Babel5 中使用 require 時,引入值是 module.export 返回的值或者是 export default 返回的值。

        • Babel6中,使用 import 引入時,可以直接獲取到 export default 的值 ; 但是如果是 require 導入的組件, 無論導出是 module.export 、export 、 export default可以直接獲取到 export default 的值都必須要加上一個 default。

        參考文獻 :

        • https://www.jianshu.com/p/27ee06296bcd

        • https://juejin.im/post/5a2e5f0851882575d42f5609

        推薦教程:《JS教程》

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 精品综合久久久久久97超人| jizz国产精品| 欧美精品福利视频| 中文字幕精品无码久久久久久3D日动漫 | 日韩精品无码免费视频| 欧美性videofree精品| 精品国偷自产在线| 亚洲精品无码mv在线观看网站 | 99久久精品费精品国产| 国产a精品视频| 全球AV集中精品导航福利| 免费国产在线精品一区| 国产精品自产拍在线观看花钱看 | 日韩麻豆国产精品欧美| 99热门精品一区二区三区无码| 亚洲精品无码乱码成人| 日批日出水久久亚洲精品tv| 国产偷伦精品视频| 国产精品国产AV片国产| 1区1区3区4区产品芒果精品| 国产亚洲精品a在线观看app| 97久久久久人妻精品专区| 精品国产一区二区三区色欲| 亚洲国产精品无码久久久蜜芽| 亚洲精品动漫免费二区| 欧美精品一区二区久久| 精品一区二区三区免费观看| 国产精品成人小电影在线观看| 午夜精品在线观看| 在线欧美v日韩v国产精品v| 九九精品成人免费国产片| 国产精品欧美一区二区三区不卡 | 亚洲午夜久久久精品影院| 久久99热国产这有精品| 久久99国产精品久久99| 国内精品久久国产大陆| 久久精品国产免费一区| 亚洲精品线在线观看| 亚洲国产精品人久久| www.精品| 麻豆精品视频在线观看|