Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js当中模块化开发的基本流程及require加载文件的规则大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

一、模块的分类

1、文件模块

即自己写的功能模块文件一个js文件即代表一个自定义文件模块。

const calc = require('./modules/calculator.js');
2、核心模块

Node平台自带一套基本的功能模块,也有人称之为Node平台的API。

const path = require('path');
const fs = require('fs');
3、第三方模块

社区或第三方开发的功能模块,这种模块在Node本身没有,需要通过NPM的方式下载之后再引入。比如要操作MysqL数据库,则需要引入MysqL这个模块。

const express = require('express');

二、模块化开发的基本流程

1、创建模块

即创建一个js文件,因为一个模块通常对应着一个js文件。可以在该文件当中封装几个内部函数,如下所示。

node.js当中模块化开发的基本流程及require加载文件的规则

2、导出模块成员

在模块文件内部用@H_853_42@module.exports = {};来导出成员。如下所示。

node.js当中模块化开发的基本流程及require加载文件的规则

3、载入模块

使用相对路径,用require的方式来载入在自定义的模块文件

node.js当中模块化开发的基本流程及require加载文件的规则

4、使用模块

node.js当中模块化开发的基本流程及require加载文件的规则

三、require加载文件的规则

1、当require当中的参数字符串以./(从当前目录出发)或../(从上一级目录出发)开头:表示按照相对路径,从当前文件所在的文件夹开始寻找要载入的模块文件

node.js当中模块化开发的基本流程及require加载文件的规则

2、当require当中的参数字符串以/开头:则表示从系统根目录开始寻找该模块文件

3、如果参数字符串不以.//../开头,说明要加载的不是一个文件,而是一个认提供的核心模块。此时则先在Node平台所提供的核心模块当中找,然后再寻找NPM模块(即第三方模块包,或自己写的模块包)。在寻找NPM模块包时,会从当前目录出发,向上搜索各级当中的node_modules文件夹当中的文件,但若有两个同名文件,则遵循就近原则。

4、使用require来加载文件可以省略扩展名。比如require('./module'),则对应的加载顺序为,

  1. 按js文件来执行(先找对应路径当中的@H_853_42@module.js文件来加载)
  2. 按json文件来解析(若上面的js文件找不到时,则找对应路径当中的@H_853_42@module.json文件来加载)
  3. 按照预编译好的c++模块来执行(寻找对应路径当中的@H_853_42@module.node文件来加载)
  4. 若参数字符串为一个目录(文件夹)的路径,则自动先查找该文件夹下的package.json文件,然后再再加载该文件当中main字段所指定的入口文件。(若package.json文件当中没有@H_853_42@main字段,或者根本没有package.json文件,则再认查找该文件夹下的index.js文件作为模块来载入。)

node.js当中模块化开发的基本流程及require加载文件的规则

node.js当中模块化开发的基本流程及require加载文件的规则

大佬总结

以上是大佬教程为你收集整理的node.js当中模块化开发的基本流程及require加载文件的规则全部内容,希望文章能够帮你解决node.js当中模块化开发的基本流程及require加载文件的规则所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。