浅谈Nodejs中内置模块的基本用法
程序员文章站
2022-03-04 22:32:28
...
本篇文章带大家一起了解一下Nodejs内置模块的基本用法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
相关推荐:《nodejs 教程》
内置模块的基本使用
// 01. 导包 const fs = require("fs"); // 02. 调用unlink删除方法 // 第一个参数:要删除的文件的路径 // 第二个参数:回调函数 fs.unlink("01-内置模块fs的使用/tmp/hello.txt", (err) => { if (err) throw err; console.log("已成功删除 /tmp/hello"); });
fs模块的读文件
fs.readFile(path[, options], callback)
第一个参数:文件的路径
第二个参数:可选参数,读取文件的编码格式
第三个参数:回调函数
fs.readFile("01-内置模块fs的使用/etc/passwd.txt", "utf-8", (err, data) => { // err是一个错误对象,如果没有错就返回一个null // data是读的文件内容 // console.log(err); // null console.log(data); // 这是一个寂寞的天,下着有些伤心的雨! });
Npdemon全局模块
作用:终端下自动执行代码
安装
npm i nodemon -g
nodemon
文件名即可自动监视文件的修改,自动重新运行
vscode快捷键
ctrl+d 选择相同的下一个
ctrl+左右 按单词跳转光标
ctrl+enter 光标另起一行
同步异步
- 同步
console.log("哈哈"); for (var i = 0; i < 10; i++) { console.log(i); } console.log("呵呵"); -> 哈哈 0 1 2 3 4 5 6 7 8 9 10 呵呵
- 异步
console.log("哈哈"); setTimeout(() => { console.log("啦啦啦"); }, 1000); console.log("呵呵"); -> 哈哈 呵呵 啦啦啦
- 刚才我们学习的fs模块读/写操作就是一个异步操作
console.log("哈哈"); const fs = require("fs"); fs.readFile("01-内置模块fs的使用/etc/望庐山瀑布.txt", "utf-8", (err, data) => { if (err === null) { console.log(data); } else { console.log(err); } }); console.log("呵呵"); -> 哈哈 呵呵 望庐山瀑布 唐·李白 日照香炉生紫烟, 遥看瀑布挂前川。 飞流直下三千尺, 疑是银河落九天。
- 其实读文件也有同步操作
console.log("哈哈"); const fs = require("fs"); let data = fs.readFileSync("01-内置模块fs的使用/etc/passwd.txt", "utf-8"); console.log(data); console.log("呵呵"); -> 哈哈 这是一个寂寞的天,下着有些伤心的雨! 呵呵
同步异步面试题
// 看代码,说出运行结果 var t = true; while (t) { window.setTimeout(function () { t = false; }, 1000); } alert("end"); -> 死循环
和路径相关的两个变量
- __dirname: 获现的是当前这个文件所在的整个文件夹的绝对路径
- __filename: 拿到的是当前这个文件的绝对路径
console.log(__dirname); // d:\前端\NodeJs\nodejs code\02-内置模块path的使用 console.log(__filename); // d:\前端\NodeJs\nodejs code\02-内置模块path的使用\03-和路径相关的两个变量.js
使用拼接的绝对路径来读取文件
const fs = require("fs"); const fullPath = __dirname + "\\etc\\1.txt"; fs.readFile(fullPath, "utf-8", (err, data) => { if (err === null) { console.log(data); } else { console.log(err); } });
path.join([…paths])
path.join()
方法会将所有给定的 path
片段连接到一起(使用平台特定的分隔符作为定界符),然后规范化生成的路径。
长度为零的 path
片段会被忽略。 如果连接后的路径字符串为长度为零的字符串,则返回 '.'
,表示当前工作目录。
// 01. 导入模块 const path = require("path"); // 02. 使用方法 // join方法是把路径片段,连接成一个新的路径. const fullPath = path.join(__dirname, "etc", "1.txt"); console.log(fullPath);
使用path模块拼接而成的绝对路径来读取文件
// 1. 导入模块 const fs = require("fs"); const path = require("path"); // 2. 调用方法 // 2.1 使用path.joiin来拼接一个绝对路径(要读取文件的绝对路径) const fullPath = path.join(__dirname, "etc", "1.txt"); // 2.2 读文件 fs.readFile(fullPath, "utf-8", (err, data) => { if (err === null) { console.log(data); } else { console.log(err); } });
使用内置模块http来创建一个服务器
// 1. 导入http模块 const http = require("http"); // 2. 创建一个服务器 // 这个方法有一个返回值,返回值就代表这个服务器 const server = http.createServer((require, response) => { // 3. 设置返回给用户看的内容 response.end("hello world!"); }); // 4. 开启服务器 server.listen(8087, () => { console.log("服务器开启了:8087"); });
request.setHeader(name, value)
为请求头对象设置单个请求头的值。 如果此请求头已存在于待发送的请求头中,则其值将被替换。 这里可以使用字符串数组来发送具有相同名称的多个请求头。 非字符串值将被原样保存。 因此 request.getHeader()
可能会返回非字符串值。 但是非字符串值将转换为字符串以进行网络传输。
request.setHeader('Content-Type', 'application/json');
或:
request.setHeader('Cookie', ['type=ninja', 'language=javascript']);
如果想要返回去的中文不乱码,那就要设置响应头.
response.setHeader("Content-Type", "text/html;charset=utf-8");
更多编程相关知识,请访问:编程视频!!
以上就是浅谈Nodejs中内置模块的基本用法的详细内容,更多请关注其它相关文章!
推荐阅读
-
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
-
Angular4 中内置指令的基本用法
-
Python中heapq堆的一些基本操作!!——————Python内置模块heapq(无需安装)
-
浅谈python jieba分词模块的基本用法
-
nodejs中内置模块fs,path常见的用法说明
-
Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
-
Python中内置的日志模块logging用法详解
-
Python中内置的日志模块logging用法详解
-
Angular4 中内置指令的基本用法
-
Python中heapq堆的一些基本操作!!——————Python内置模块heapq(无需安装)