Node.js中的模块可以分为原生模块和文件模块,通过Node.js中可以通过require方法导入模块、exports方法导出模块。

1、require导入模块

对于原生模块(比如说:http),只需要使用require(‘http’)导入这个模块并将其赋值给一个变量即可使用这个模块导出的属性、方法等。

const  http =require('http');
http.createServer(//这里写入你的代码
)

对于文件模块,可以使用“./”前缀来指代当前的路径,从而使用相对路径来进行加载模块。加载模块时,可以不写.js拓展名。比如,在同级文件交node中有一个名为testOne.js的文件模块,可以这样进行导入:

const One=require('./node/testOne');

2、exports导出模块

一个模块中的变量和方法只能用于这个模块,如果想要与去其他模块共享一些方法、属性等,就可以通过exports导出一个对象。在这个对象中可以包含想要与其他模块共享的方法和属性等。

若一个模块中有两个想要与其他模块共享的方法,一个用于数组去重,一个用于计算数组之和,就可以像下面代码这样进行导出:

exports.js

const util ={noRepeat:function(arr){return arr.filter(function(ele,index){return arr.indexOf(ele)==index;});},add:function(arr){return arr.reduce(function(ele1,ele2){return ele1+ele2;});}
};module.exports=util;

这个模块的名字为exports.js ,同级目录下可以通过require 使用该模块,代码如下:

由上图可知,说明模块导入成功。

转载于:https://www.cnblogs.com/jiguiyan/p/11210082.html

Node 之 模块加载原理与加载方式相关推荐

  1. Node.js模块以及模块加载机制

    2019独角兽企业重金招聘Python工程师标准>>> Node.js中的模块 在Node.js中,以模块为单位划分功能,通过一个完整的模块加载机制使得开发人员可以将应用程序划分为多 ...

  2. Node.js---02、node.js 模块加载机制

    2019独角兽企业重金招聘Python工程师标准>>> node.js模块分为自定义模块.扩展模块和核心模块.所有模块的加载都是通过关键字require()实现. 1.自定义模块的加 ...

  3. 模块化加载_webpack模块化原理-异步加载模块

    在上篇文章中,我们介绍了 webpack 同步加载模块的原理.这篇文章,我们来介绍一下 webpack 异步加载模块. 异步加载模块 还是先做一些准备工作. 首先定义一个依赖模块:math.js,ma ...

  4. Grunt-cli的执行过程以及Grunt加载原理

    通过本篇你可以了解到: 1 grunt-cli的执行原理 2 nodeJS中模块的加载过程 Grunt-cli原理 grunt-cli其实也是Node模块,它可以帮助我们在控制台中直接运行grunt命 ...

  5. 从 RequireJs 源码剖析脚本加载原理

    引言 俗话说的好,不喜欢研究原理的程序员不是好的程序员,不喜欢读源码的程序员不是好的 jser.这两天看到了有关前端模块化的问题,才发现 JavaScript 社区为了前端工程化真是煞费苦心.今天研究 ...

  6. webpack 热加载原理探索

    前言 在使用 dora 作为本地 server 开发一个 React 组件的时候,默认使用了 hmr 插件.每次修改代码后页面直接更新,不需要手动 F5 ,感觉非常惊艳,这体验一旦用上后再也回不去了. ...

  7. 浅析Android字体加载原理

    浅析Android字体加载原理 前言 之前在处理系统字体问题的时候,可借鉴的资料很少,遇到了很多坑,不得不了解Android字体加载原理,现抽空写一篇总结,来加深自己对这块的理解. 内容 概述 And ...

  8. 唯一插件化Replugin源码及原理深度剖析--插件的安装、加载原理

    上一篇 唯一插件化Replugin源码及原理深度剖析–唯一Hook点原理 在Replugin的初始化过程中,我将他们分成了比较重要3个模块,整体框架的初始化.hook系统ClassLoader.插件的 ...

  9. 深度剖析React懒加载原理

    目录 代码分割 React的懒加载 import() 原理 React.lazy 原理 Suspense 原理 参考 1.代码分割 (1)为什么要进行代码分割? 现在前端项目基本都采用打包技术,比如 ...

最新文章

  1. 联想一体计算机排行,2019最具性价比一体机推荐 电脑一体机十大最新排名
  2. android 6.0 自定义application,Android6.0之App中的资源管理对象创建
  3. leetcode算法题--有序数组中的单一元素
  4. vc为啥要更新java_Java9被无情抛弃,Java8直接升级到Java10 ! !
  5. C语言必知的几个概念
  6. 五年时间完成业务数字化转型,华为如今做得怎么样了?
  7. 【HDOJ7055】Yiwen with Sqc(字符串,区间出现次数平方和,两次差分)
  8. 编写一个函数itob(),将整数n转换为以b进制的数,保存到s中
  9. 周期T与频率f数量级对应关系(MHz--μs)
  10. 腾讯云数据库 TDSQL—— 私有云安装部署手册
  11. 行业陷入“围城”效应,新茶饮品牌凛冬将至
  12. 服务器扩容思路及问题分析
  13. 十大经典的心理学效应
  14. Minecraft mod制作简易教程(四)——创建一个方块
  15. 安装MySQL---已删除服务,却显示服务已存在
  16. 光量子计算机的功能,光量子计算机有什么用
  17. 【Swagger】配置信息详解(涉及源码分析)
  18. 打工还是创业?思路决定出路!
  19. java计算机毕业设计O2O生鲜果蔬电商设计与实现源码+数据库+系统+lw文档
  20. 什么是好的BIM轻量化引擎

热门文章

  1. 八中计算机是学啥的,北京八中:居然有这么好玩的课
  2. openssh rpm包_100台CentOS7要升级OpenSSH怎么办?
  3. 计算机基础知识学前自测,2011计算机二级C语言学前自测题:DOS的基本操作
  4. sql 返回日期的年月部分_公示|2020年11月部分志愿活动名单公示
  5. c语言文件的读写通讯录,学C三个月了,学了文件,用C语言写了个通讯录程序
  6. 同时买票是怎么实现的_去巴黎玩怎么买地铁票最划算?| 巴黎最全交通攻略
  7. pycharm和python在mac里安装_MAC安装python-opencv及在pycharm下的配置
  8. C++应用过程中使用知识点
  9. 工业4.0时代,工业交换机在智能电网建设中有什么作用?
  10. 一台PoE工业交换机可以给多少设备供电?