IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> 关于NodeJS中模块的引用及导出 -> 正文阅读

[JavaScript知识库]关于NodeJS中模块的引用及导出

关于NodeJS中模块的引用及导出

模块

  • 模块:独立的功能体
  • 模块分类:核心模块(内置模块)、自定义模块、第三方模块

自定义模块

  • 在在NodeJS,每一个文件都是一个模块, NodeJS自动为每个文件添加了构造函数,所有的代码被构造函数所包含:
(function(exports,require,module,__filename,__dirname){
                     //程序员自己的代码
})
  1. require(path) 用于引入一个模块,path代表(相对/绝对)路径,默认返回一个对象,同一级目录必须写路径./
  2. module: 指代当前的模块对象
    module.exports: 当前模块的导出对象,公开的属性和方法
  3. exports: 指代module.exports

正常情况下,模块中的变量值和函数为局部变量,不能被导出后使用,只会执行程序内部运行的结果,借助modele.exports可以将内部变量和方法抛出给其他文件使用

  1. __filename: 当前模块的绝对目录名称(前面下划线为两条)
  2. __dirname: 当前模块的绝对目录 (前面下划线为两条)

抛出模块时注意事项

  1. 对象的形式抛出(最常见)
//1.部分抛出
module.exports = {'key1' : 'value1', 'key2' : 'value2',...}
//2.抛出(推荐)
obj ={...} // 将需要抛出的对象整合到一个大的对象中整体抛出
module.exports = obj
  1. 单独抛出函数:
// 将oldFun赋值给新的newFun,新的方法名代替旧的方法名(可同名)
module.exports.newFun = oldFun
  1. 单纯抛出变量值:
// 变量同上
module.exports.newVal = oldVal

引入模块注意事项

以路径开始不以路径开始
文件模块require('./circle.js') 常用于引入自定义的模块,后缀名.js可省略require('url') 常用于引入官方提供的核心模块
目录模块require('./mulu')会先到mulu目录下寻找package.json(包)文件中main属性对应的文件名称,如果找不到再去找index.js件,如果连index.js都没有找到那么就会报错require('04_2')会到当前目录下的node_modules中寻找04_2目录,如果找不到,往上一级查找,直到找到指定顶级目录(盘符),如果最终找不到目录,那么报错,找到目录的话04_2就会去找目录中的package.json,后续用以路径开始的目录模块的查找

附加内容:

  1. npm init -y 初始化一个package.json文件,用于记录安装的包相关信息
  2. npm install 包名称 下载到目录名为node_modules的文件夹中
  3. npm install package.json 自动安装package.json中记录的包名称以及版本号
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-09-06 11:05:01  更:2021-09-06 11:05:17 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 16:51:25-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码