• 技术文章 >web前端 >js教程

    详解ES6模块化和CommonJS模块化的区别

    青灯夜游青灯夜游2020-06-22 18:24:46转载1117

    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')

    总结

    参考文献 :

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

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

    推荐教程:《JS教程

    以上就是详解ES6模块化和CommonJS模块化的区别的详细内容,更多请关注php中文网其它相关文章!

    声明:本文转载于:segmentfault,如有侵犯,请联系admin@php.cn删除
    专题推荐:ES6 CommonJS 模块化
    上一篇:用hooks写个登录表单 - 前沿开发团队 下一篇:JavaScript的重构技巧
    Web大前端开发直播班

    相关文章推荐

    • ES6中Generator函数的用法介绍• es6 filter() 数组过滤的方法小结(附代码)• ES6中变量的解构赋值的用法介绍(附代码)• 现代JavaScript使用技巧之ES6中的简写语法

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网