Node基础
# 模块化语法
# node 模块化语法
- require() 引入一个外部模块
- module.exports 暴露模块接口
# ES2015的模块化语法
在ES2015的模块化语法与node的模块化语法略有差异:
- import 引入外部模块
- export 暴露模块接口
# 外部模块
- 核心模块(node 自带的模块,使用require 直接引入)
- 自定义模块(自己写的js文件,需要完整路径)
- 第三方模块 (npm下载的第三方模块,使用require 直接引入)
# 核心模块
node 自带的核心模块学习。
# fs
处理文件读取;
fs.readFile 方法得到数据是buffer类型(二进制),需要使用toString()方法转成字符串;它会传入两个参数:
- 第一个参数是读取文件的地址;
- 第二个参数是一个回调函数;
- 如果文件读取失败,回调函数的第一个参数err 会显示错误信息,如果读取文件成功,则err 为 null;
- data 是一个buffer类型,data.String() 可以把buffer 类型转换成字符串。
const fs = require('fs');
fs.readFile('./hello.txt', (err, data) => {
if(err){
console.log(err);
}
console.log(data.toString());
})
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# path
处理文件路径;
const path = require('path');
let domain = 'http://www.xiaozhoubg.com'
let url = 'docs'
let id = '22'
let address = path.join(domain, url, id);
console.log(address);
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
# http
创建Web服务器;通过http模块的createServer方法在本地创建一个服务器:
const http = require('http')
const server = http.createServer((req, res) => {
res.end('Hello NodeJS!'); //设置响应内容
});
// 监听端口
server.listen(3000, () => {
console.log('server is running');
})
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
上述代码中,createServer()方法用来创建服务器对象,然后服务器对象通过listen方法定义服务器的端口,然后通过node命令运行js文件,这样就完成了node的本地服务器的搭建。
但是由于node服务器启动后修改的内容不会生效,需要重启关闭服务器再重新启动,比较麻烦。
可以通过全局安装modemon模块,npm i -g nodemon
,通过nodemon来启动服务器,在修改文件之后,服务器可以自动启动。
编辑 (opens new window)
上次更新: 2022/04/01, 21:54:01