三、nodejs模块使用和其他
内置模块的基本使用(删除文件)
1 | const fs = require("fs"); |
fs模块读文件
1 | const fs = require("fs"); |
fs模块写文件
如果没有文件夹那么会抛出错误,但是没有文件则会自动创建文件。如果已经存在,则会覆盖。
1 | const fs = require("fs"); |
同步异步
同步
所谓同步也就是按顺序执行
异步
同时执行,谁先做完谁输出。不会造成阻塞。
面试题-1
1
2
3
4
5
6var t = true;
windows.setTimeout(function () {
t = false;
}, 1000);
while (t) {}
console.log("end");以上代码会无限循环,因为定时器是异步执行。则先进入循环,一旦进入,那么就会发生无限循环。
面试题-2
1
2
3
4
5
6
7var t = true;
while (t) {
windows.setTimeout(function () {
t = false;
}, 1000);
}
console.log("end");以上代码还是会死循环。计时器虽然已经声明了,但计时器的回调函数无法被执行。
相对路径的问题
路径问题
NodeJs中的相对路径是相对于执行js文件的终端工具路径而言。
1 | const fs = require("fs"); |
和路径相关的变量
获取当前文件所在目录
__dirname
获取当前文件的绝对路径
__filename
以上两个变量不需要定义即可使用。
1 | console.log(__dirname); |
因此要读取的文件可以使用此变量进行拼接。
1 | const fs = require("fs"); |
path模块
为了避免出现少写斜杠(\
)的错误出现。
join
路径拼接方法path.join()
方法使用平台特定的分隔符作为定界符将所有给定的path
片段连接在一起,然后规范化生成的路径。1
2
3
4
5
6
7
8
9
10
11
12
13const path = require("path");
const fs = require("fs");
const fullPath = path.join(__dirname, "temp", "1.txt");
console.log(fullPath);
fs.readFile(fullPath, "utf-8", (err, data) => {
if (err == null) {
console.log(data);
} else {
console.log(err);
}
});
http模块
创建一个简单的本地服务器
1 | const http = require("http"); |
中文乱码问题
解决中文乱码须在响应头设置Content-Type
1 | const http = require("http"); |
nodemon工具
此工具作用为自动监视文件的修改,自动重新运行。
安装
npm install nodemon -g
使用
nodemon 文件名
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小康博客!
评论
TwikooWaline