NodeJS学习笔记之Node的模块
Posted vidvan
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了NodeJS学习笔记之Node的模块相关的知识,希望对你有一定的参考价值。
一、全局模块
定义:何时何地都能访问,不需要引用。
process.env 返回项目运行所在的环境变量信息。
process.argv 参数数组 (能接收通过命令执行node程序时所传入的参数),
参数1:返回当前node所在路径,参数2:返回当前文件路径
例子(index.js):
let num1 = parseInt(process.argv[2]);
let num2 = parseInt(process.argv[3]);
console.log(num1 + num2);
输入命令:
node index 2 3
输出:
5
二、系统模块
定义:需要require()引用,但不需要下载(安装node时已经内置好)。
path:用于处理文件路径和目录路径的实用工具。
let path = require(\'path\')
p = \'/node/a/1.jpg\'
path.dirname(p) //路径(/node/a)
path.basename(p) //文件名(1.jpg)
path.extname(p) //文件扩展名(.jpg)
fs:用于文件读写操作。
let fs = require(\'fs\')
fs.readFile(\'./a.text\',(err,data) => {
if(err) {
console.log(err)
} else {
console.log(data.toString())
}
})
// 往文件添加内容
fs.writeFile(\'a.txt\', \'测试\', { flag: \'a\' }, (err) => {
if (err) {
throw err
}
})
三、自定义模块
定义:require自己封装的模块。
1、require
1)如果有路径,就去路径里面找;
const mod1 = require(\'./mod\')
2)如果没有,就去node_modules里面找;
const mod1 = require(\'mod\')
3)如果都没有,则去node的安装目录里面找。
2、exports 和 module
1)值
exports.a = 1;
exports.b = 2;
let c = 3;
使用:
mod1.a mod1.b
2)对象
module.exports = { a:1, b:2 }
使用:
mod1.a mod1.b
3)函数
module.exports = function() { }
使用:
mod1()
4)类
module.exports = class {
constructor(name) { this.name = name }
show() { console.log(this.name) }
}
使用:
let p = new mod1(\'myname\');
p.show()
四、http模块(重点)
模板字符串 `
(数字1左边的键),才能识别 ${}
。
let http = require(\'http\')
let fs = require(\'fs\')
http.createServer((request, response) => { // 创建http服务
fs.readFile(`./${request.url}`, (err, data) => { // 读取文件(路径、回调)
if (err) {
response.writeHead(404) //200 是默认可不写
response.end(\'404 not found\')
} else {
response.end(data)
}
})
}).listen(8088)// 创建服务器,必须使用监听端口
以上是关于NodeJS学习笔记之Node的模块的主要内容,如果未能解决你的问题,请参考以下文章