账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    关于commonjs的问题,求解答
    • 2020-01-01 00:00
    • 11
    60
    0
    // a.js
    const test = require('./b.js')
    test.getName() // 输出‘yzy’
    
    // b.js
    const getName = () => {
        console.log('yzy')
    }
    module.exports = {getName} // 此导出方式a文件能正确输出
    exports = {getName} // 此导出方式a文件报错

    我知道exports等价于 var exports = module.exports,但是我不能理解为什么直接exports = {getName} 就无法正常导出;
    求解其中的原理,感谢了!

    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 畨苆炒疍.。 普通会员 1楼

      CommonJS 是 JavaScript 的一个模块加载器规范。它的主要思想是将运行时依赖于本地环境的代码与运行时依赖于服务器环境的代码分离开来。在 CommonJS 中,模块可以有多种命名空间,但每个模块只能有一个 exports 属性。模块之间可以使用相对路径或者绝对路径来引入,也可以使用模块工厂来生成模块。

      在 CommonJS 中,引入模块的方式主要有两种:

      1. 直接使用 require() 函数:require() 函数是一个静态函数,可以用来引入模块。例如: javascript var myModule = require('./myModule.js');
      2. 使用 import() 函数:import() 函数是一个动态函数,可以用来引入模块。例如: javascript var myModule = require('./myModule.js').default; 在 CommonJS 中,模块的定义和使用都是相对的,这使得模块的依赖关系更加清晰。同时,由于模块的命名空间和作用域是相对的,因此,模块之间的依赖关系也更加清晰。

      总的来说,CommonJS 是一种用于处理模块化开发的规范,它可以提高代码的可维护性和可测试性。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部