学习Node.js基础(4)

133 阅读2分钟

模块

在应用程序的开发过程中,随着开发进程的增长,代码会越来越多,可维护性也会越来越低。为了保证应用程序的可维护性,我们就会把一些函数分开,分别放在不同的文件中,再引入使用。这样就能提高代码的可维护性,当其他应用程序也需要使用部分相同的功能时也能直接引用,这种方式就是模块化。

在JavaScript中,编写一个模块时,需要按照模块的编写规范,这样在使用时才能识别出该模块。而在一个Nodejs的应用程序中,模块以及如何编写并使用模块是基本组成部分。

自定义模块

在编写自定义模块时,需要在编写结束后使用exports或者module.exports导出,就类似U盘的插口,给使用者暴露一个入口,然后在使用时,使用require导入。

导出
// sum.js
var sum = function(a, b){
    return parseInt(a) + parseInt(b);
}
// 导出模块
exports.sum = sum;
// 也可以写成
// module.exports.sum = sum;
导入
// main.js
// 导入模块
var module = require('./sum.js');
console.log(module.sum(1, 2)); // 3
模块细节
  • 已经加载的模块会被缓存,以提高加载性能,根据加载的路径来判断是否加载过。
  • 加载文件的后缀.js可以省略。模块文件常见结尾后缀有.js.json.node,注意省略后缀,若在同一个目录中出现文件名相同后缀名不同的话,加载的顺序如下:
    • .js
    • .json
    • .node

内置模块

Nodejs也有内置的模块以供开发人员使用,分别是:

  • fs:文件操作模块;
  • http:网络操作模块;
  • path:路径操作模块;
  • querystring:查询参数解析模块;
  • url:url解析模块; 引用的方式与自定义模块一样,后续将会详细学习其中重要的几个模块。
const fs = require("fs");
const http = require('http');
const path = require('path');
const querystring = require('querystring');
const url = require('url');