精华内容
下载资源
问答
  • 主要介绍了node中modules.exports与exports导出的区别,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
  • 首先要知道module.exportsexports都是CommandJS的导出模块规范 模块中存在一个module对象,代表模块自身,module对象有个exports属性,用于数据的导出 exports === module.exports两者之间是全等的关系 例子 obj...

    node 中module.exports和exports的关系

    1. 首先要知道module.exportsexports都是CommandJS的导出模块规范
    2. 模块中存在一个module对象,代表模块自身,module对象有个exports属性,用于数据的导出
    3. exports === module.exports两者之间是全等的关系
    4. 例子
      • obj对应着的是module
      • hobby对象相当于模块中的exports
      • aihao就是exportsaihao的指向还是原来的obj对象中的指向
      • 只是为了以后调用方便就将obj.hobby直接使用aihao代替,这个时候aihaoobj.hobby还是全等的关系,aihao === obj.hobby // true
      let obj = {
      	name: "小火车",
      	hobby: {}
      }
      let aihao = obj.hobby
      aihao.age = 8
      console.log(obj) // { name: '小火车', hobby: { age: 8 } }
      
      
    5. 注意如果使用了aihao = 123就相当于直接改变了aihao的指向,这个时候的aihaoobj.hobby没有关系了aihao === obj.hobby // false
      let obj = {
          name: "小火车",
          hobby: {}
      }
      let aihao = obj.hobby
      aihao = 8
      console.log(obj) // { name: '小火车', hobby: {} }
      console.log(aihao === obj.hobby) // false
      
    6. 如果直接使用exports赋值的方法导出模块 错误方式exports = age
      // 模块的写法
      const age = 8
      exports = age
      	
      // 接收模块
      const ex = require("./ex")
      console.log(ex) // {}
      
    7. 所以在使用exports的时候不可以直接使用赋值的方法,对象点属性值才是正确方法exports.data = age
      // 模块的写法
      const age = 8
      exports.data = age
      
      // 接收模块
      const ex = require("./ex")
      console.log(ex) // { data: 8 }
      
    8. 但是使用module.exports的时候可以直接赋值,因为原本的数据执行不会发生变化
      // 模块的写法
      const age = 8
      module.exports = age
      	
      // 接收模块
      const ex = require("./ex")
      console.log(ex) // 8
      

    总结:exports只是module的一个属性,主要就是使用过程中需要注意如果直接对exports采用赋值的方法导出模块的话,得到的只会是一个空的对象{},所以一般在使用过程中都是直接使用module.exports导出模块

    展开全文
  • moudel.exports 导出模块

    2020-05-09 15:03:05
    ------导出单个模块------ // user.js moudel.exports = 函数名或者变量名; ------导入------ //app.js require('user.js') 当然.js可以省略 require('user'); ------导出多个模块-------- //user.js var ...

    ------导出单个模块------
    // user.js
    moudel.exports = 函数名或者变量名;


    ------导入------
    //app.js
    require('user.js')  当然.js可以省略 require('user');

    ------导出多个模块--------
    //user.js
    var showForm = () =>{}  //箭头函数
    var subForm = function(){}
    ....

    module.exports.showForm = showForm;
    module.exports.subForm = subForm;
    可简写
    module.exports = {
      showForm: showForm,
      subForm: subForm
    }
    键值同名可以只写一个
    module.exports = {
      showForm,
      subForm
      }

    ---------index.js---------
    hello=require('./hello'); 
      hello.Helloa()
      hello.Hellob()

    --------Hello.js------
    function Helloa() { 
        console.log('Helloa' ); 
      }; 

      function Hellob() { 
        console.log('Hellob' ); 
      }; 
      //module.exports = Helloa;
      
      module.exports = {
         Helloa,
         Hellob 
      }

    展开全文
  • Node中exports导出规则

    2019-03-25 15:58:13
    我们可以把需要导出的成员都挂载到 module.exports 接口对象中 也就是:moudle.exports.xxx = xxx 的方式 但是每次都 moudle.exports.xxx = xxx 很麻烦,点儿的太多了 所以 Node 为了你方便,同...
    • 每个模块中都有一个 module 对象

    • module 对象中有一个 exports 对象

    • 我们可以把需要导出的成员都挂载到 module.exports 接口对象中

    • 也就是:moudle.exports.xxx = xxx 的方式

    • 但是每次都 moudle.exports.xxx = xxx 很麻烦,点儿的太多了

    • 所以 Node 为了你方便,同时在每一个模块中都提供了一个成员叫:exports

    • exports === module.exports 结果为 trues

    • 所以对于:moudle.exports.xxx = xxx 的方式 完全可以:expots.xxx = xxx

    • 当一个模块需要导出单个成员的时候,这个时候必须使用:module.exports = xxx 的方式,不要使用 exports = xxx 不管用

    • 因为每个模块最终向外 return 的是 module.exports

    • exports 只是 module.exports 的一个引用

    • 所以即便你为 exports = xx 重新赋值,也不会影响 module.exports

    • 但是有一种赋值方式比较特殊:exports = module.exports 这个用来重新建立引用关系的

    • 如果分不清exports和module.exports,可以选择只使用后者;

    展开全文
  • 2019独角兽企业重金招聘Python工程师标准>>> ...module.exports.属性1 = 值1 或者 exports.属性1 = 值1。       转载于:https://my.oschina.net/kunBlog/blog/1632972

    使用require导入模块时,var md = require("./testExports") require返回值实际上是module.exports的值。

    例子1:

    在 testExports.js 文件中:

    module.exports = {
        name : "张三",
        age : 18
    }

    在test.js文件中。

    var md  = require("./testExports");
    
    console.log(md.name);
    console.log(md.age);

    运行后,打印如下:

    135046_r6M0_2601303.png

    例子2:

    把上面的 testExports.js 文件的内容改为下面的。

    exports = {
        name : "张三",
        age : 18
    }

    打印如下:

    135229_PEjr_2601303.png

    这是因为我们写的代码被封装在function (exports, require, module, __filename, __dirname) { }   方法中 ,nodejs传递参数的时候传递的 exports的值等于 module.exports 。

    这里把exports的引用指向另一个对象。只是改变了exports的引用。并没有改变module.exports的值。require加载模块时,返回的值是module.exports的值,所以获取不到值。

     

    结论:

    如果要暴露多个属性使用。module.exports  = { 属性1:值1,属性2:值2 } 。

    如果只暴露单个属性。可以使用 module.exports.属性1 = 值1  或者    exports.属性1 = 值1。

     

     

     

    转载于:https://my.oschina.net/kunBlog/blog/1632972

    展开全文
  • var sub= () =>{} //箭头函数 ...module.exports.sub= sub; module.exports.sum = sum ; 可简写 module.exports = { sub: sub, sum : sum } 键值同名可以只写一个 module.exports = { sub, sum }
  • node中的模块系统 示例: 模块作用域 成功获取add: module.exports
  • 使用exports可以把js文件中的某些对象暴露出来,给其他js加载调用。 一、例子 : 新建一个school文件夹。在school文件夹中创建下面的3个文件。 student.js function add(stuName){ console.log('增加...
  • 环境安装: ... nodejs的CommonJS规范: 1、每个文件是一个模块,有自己的作用域;对其他文件不可见;... 3、module.exports属性代表模块对外接口; 创建一个模块,要先创建一个js文件; 在当前文件下...
  • 正文: 众所周知bld.inf中使用prj_exports指令可以在构建一个模块时将一个文件从源代码目录中拷贝到SDK中。例如可以将一个C++头文件拷贝到/epoc32/include/目录下. PRJ_EXPORTS ../inc/HelloWorld.hrh /epoc32/...
  • Node 导入导出模块module.exports

    千次阅读 2019-08-16 09:25:17
    node.js导入导出模块module.exports 导出单个模块 // user.js moudel.exports = 函数名或者变量名; //app.js 导入 require('user.js') 当然.js可以省略 require('user'); 导出多个模块 //user.js var ...
  • exports导出 exports是module.exports的别名(地址引用关系)导出对象最终以module.exports为准 const greeting=name=>`hello ${name}`; module.exports.greeting=greeting; require导入 const a=require('./4...
  • 关于nodejs nodejs是JavaScript的运行时环境,它既不是语言也不是框架。nodejs是后台开发的一个工具。 前端开发的JavaScript: ...示例1:通常我们使用module.exports进行单个成员的导出,例如:...
  • 导出变量a:a.js中有一个用于导出的对象:module.exports,module.exports赋值给了exports(浅拷贝),exports和module.exports指向同一个对象 导出的方式:将要导出的变量做为module.exportsexports的属性值 文件...
  • Node.js module.exports导出 (Node.js module.exports vs. exports) 它们是什么,如何使用它们以及如何不使用它们 (What are they, how to use them and how not to use them) (Note that this article was wr.....
  • .moudel.exports 导出模块 导出单个模块 // user.js moudel.exports = 函数名或者变量名; //app.js 导入 require('user.js') ...
  • 涉及到require 、export、module.exportsexports这些关键词。但是其中究竟有什么区别。自己还真的经常弄糊涂。 索性自己好好缕一缕。 首先呢,总体上区分两大规范CommonJS模块规范和ES6模块规范 require: node ...
  • Scrapy爬虫入门教程十 Feed exports导出文件)
  • 涉及到require 、export、module.exportsexports这些关键词。但是其中究竟有什么区别。自己还真的经常弄糊涂。 索性自己好好缕一缕。 首先呢,总体上区分两大规范CommonJS模块规范和ES6模块规范 require: node ...
  • node中exports和module.exports的区别 ...exports导出单一的函数或者变量 module.exports moudle.exports= [function name] 在currency.js中: //定义 class Currency{ constructor(rate){ ...
  • 需要了解的概念:js引用数据类型 ...在nodejs里面,每个文件都有一个module对象和一个exports对象,用exports导出的时候,内部代码是这样实现的 module.exports = exports 所以,真正的导出是module,所以
  • exports导出的是一个实例对象。 要调用导出的方法或者属性时,要用当前实例对象去调用。如下述代码中,导出的是builds对象,使用getAllBuilds方法时要调用此方法。 exports.js const builds = { // Runtime ...
  • exports和module.exportsexports代表导出对象,它是一个全局对象。经exports导出对象的属性可以用require函数引用。
  • 关于这个问题NodeJS的官方文档中有一句很精辟解释: What’s the difference between module.exports...翻译过来就是说,module.exports是直接导出整个对象,而exports导出的是对象中的属性。以下通过两个简单的例子可
  • module.exports 初始值为一个空对象 {},所以 exports 初始值也是 {}exports 是指向的 module.exports 的引用require() 返回的是 module.exports 而不是 exports 每一个Node.js执行文件,都自动创建一个module...
  • module.exports 、exports、export、export default的区别 module.exports和exports是属于 CommonJS ...module.exports和exports导出模块,用require引入模块。 export和export default导出模块,import导入模块...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,204
精华内容 15,281
关键字:

exports怎么导出