nodejs开发——require与exports的使用

另一片文章总结:http://www.cnblogs.com/hfultrastrong/p/8036682.html

require

require函数用于在当前模块中加载和使用别的模块,传入一个模块名,返回一个模块导出对象。模块名可使用相对路径(以./开头),或者是绝对路径(以/C:之类的盘符开头)。另外,模块名中的.js扩展名可以省略。以下是一个例子。

var foo1 = require('./foo');
var foo2 = require('./foo.js');
var foo3 = require('/home/user/foo');
var foo4 = require('/home/user/foo.js');// foo1至foo4中保存的是同一个模块的导出对象。

另外,可以使用以下方式加载和使用一个JSON文件。

var data = require('./data.json');

exports

exports对象是当前模块的导出对象,用于导出模块公有方法和属性。别的模块通过require函数使用当前模块时得到的就是当前模块的exports对象。以下例子中导出了一个公有方法。

exports.hello = function () {console.log('Hello World!');
};

module

通过module对象可以访问到当前模块的一些相关信息,但最多的用途是替换当前模块的导出对象。例如模块导出对象默认是一个普通对象,如果想改成一个函数的话,可以使用以下方式。

module.exports = function () {console.log('Hello World!');
};

以上代码中,模块默认导出对象被替换为一个函数。

转载于:https://www.cnblogs.com/hfultrastrong/p/8036396.html

nodejs开发——require与exports的使用相关推荐

  1. 《NodeJS开发指南》第五章微博实例开发总结

    所有文章搬运自我的个人主页:sheilasun.me <NodeJS开发指南>这本书用来NodeJS入门真是太好了,而且书的附录部分还讲到了闭包.this等JavaScript常用特性.第 ...

  2. nodejs开发 过程中express路由与中间件的理解 - pyj063 - 博客园

    nodejs开发 过程中express路由与中间件的理解 nodejs开发 express路由与中间件 路由 通常HTTP URL的格式是这样的: http://host[:port][path] h ...

  3. nodejs探秘:require加载模块的原理及代码实现

    最近因为项目需要使用nodejs,因此不得不对其进行学习研究.一番深入后发现,nodejs除了好用,作为后台效率非常高之外,它自身的设计堪称精妙.我们都知道学习的一种有效方式就是看牛逼人物是怎么打造牛 ...

  4. Kurento nodejs 开发常用库

    /* kurento nodejs 开发常用库 web server websocket server mqtt ms sql server mysql server kms */ var mysql ...

  5. nodejs开发微信支付之接收退款申请通知

    nodejs开发微信支付之退款结果通知url 前言 步骤 1.先对加密串A进行base64解密 2.对商户key做md5,得到32位小写key 3.用key*对加密串B做AES-256-ECB解密 前 ...

  6. 《nodejs开发指南》express4.x版-微博案例完整实现

    本文参考了 <nodejs开发指南>微博实例express4.x版 https://segmentfault.com/a/1190000002620309 本来网上也有了很多相关的教程,写 ...

  7. 【nodejs开发个人博客】- 0 概述

    文章目录 概述 1.nodejs的用途: 2.nodejs的下载和安装 3.nodejs 和javascript的区别 4.模块化 5.server端 和前端的 不同 6.个人博客技术方案 概述 本笔 ...

  8. 《Nodejs开发加密货币》之三:Nodejs让您的前端开发像子弹飞一样

    关于 <Nodejs开发加密货币>,是一个加密货币产品的详细开发文档,涉及到使用Nodejs开发产品的方方面面,从前端到后台.从服务器到客户端.从PC到移动.加密解密等各个环节.代码完全开 ...

  9. Nodejs之require加载机制(模块可以污染全局空间)

    以前就觉得Nodejs的MooTools库很奇怪,因为用他的时候,不需要把require的返回值保存起来,今天实在憋不住,就研究了下,对NodeJs的require机制又有了几分深刻的理解. MooT ...

最新文章

  1. Java中 多态的理解
  2. BRCM5.02编译一 : 缺少工具链路
  3. Vitalik Buterin:Casper 权益证明与分片技术最新进展
  4. 图像分割综述:FCN、U-Net、PSPNet、DeepLab
  5. oracle 触发器登录,【学习笔记】Oracle触发器 实现指定用户登录oracle案例
  6. collection配置说明
  7. 制作Geek风格的投影片
  8. ON_COMMAND_RANGE用法
  9. 从程序员到项目经理(15):项目管理三大目标
  10. Eclipse导入Android项目的方法(转)
  11. 5分钟带你入门vuex(vue状态管理)
  12. MFC中的问题记录 2012-2-20
  13. CSS3过渡、变形和动画
  14. java导出数据EXCEL的工具类(以spring-webmvc-4.0.4jar为基础)
  15. java中springmvc_java框架之springmvc
  16. 将PowerPCB 中的pcb文件导入到Protel中使用
  17. [转载]班主任带着学生打副本 每周学习成绩就是DKP(这篇太雷人了,转载保持)...
  18. win7系统安装 wifi连接到服务器,win7系统笔记本wifi无法连接到服务器1237的解决方法...
  19. 计算机课程调整论文,计算机课程改革论文
  20. 自动化打卡,Tasker+模拟器远程打卡

热门文章

  1. PHP的表单获取与HHTP请求方式
  2. vue 获取元素在浏览器的位置_前端开发JS获取页面元素的位置
  3. mysql 8.0数据备份恢复_MySQL 8.0 增强逻辑备份恢复工具介绍-爱可生
  4. python控制流代码怎么用_Python学习笔记控制流的元素
  5. 返回后的数据处理_【掘金使用技巧2】掘金返回数据中时间的处理方法
  6. android怎样添加图片锐化功能,如何在android处理图片(图像二值化锐化转换格式).doc...
  7. mysql 数据库 额外_Manager额外参数怎么学?mysql数据库学习
  8. jdk 安装_Jdk 安装使用教程
  9. nx set 怎么实现的原子性_正确地使用Redis的SETNX实现锁机制
  10. 【caffe-Windows】基于Python多标签方法——VOC2012数据集