0

0

浅谈Nodejs中内置模块的基本用法

青灯夜游

青灯夜游

发布时间:2021-03-22 09:56:14

|

2060人浏览过

|

来源于csdn

转载

本篇文章带大家一起了解一下nodejs内置模块的基本用法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。

浅谈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 选择相同的下一个

    传媒公司模板(RTCMS)1.0
    传媒公司模板(RTCMS)1.0

    传媒企业网站系统使用热腾CMS(RTCMS),根据网站板块定制的栏目,如果修改栏目,需要修改模板相应的标签。站点内容均可在后台网站基本设置中添加。全站可生成HTML,安装默认动态浏览。并可以独立设置SEO标题、关键字、描述信息。源码包中带有少量测试数据,安装时可选择演示安装或全新安装。如果全新安装,后台内容充实后,首页才能完全显示出来。(全新安装后可以删除演示数据用到的图片,目录在https://

    下载
  • 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来创建一个服务器

NqMrPU.png

// 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");

更多编程相关知识,请访问:编程视频!!

相关专题

更多
云朵浏览器入口合集
云朵浏览器入口合集

本专题整合了云朵浏览器入口合集,阅读专题下面的文章了解更多详细地址。

0

2026.01.20

Java JVM 原理与性能调优实战
Java JVM 原理与性能调优实战

本专题系统讲解 Java 虚拟机(JVM)的核心工作原理与性能调优方法,包括 JVM 内存结构、对象创建与回收流程、垃圾回收器(Serial、CMS、G1、ZGC)对比分析、常见内存泄漏与性能瓶颈排查,以及 JVM 参数调优与监控工具(jstat、jmap、jvisualvm)的实战使用。通过真实案例,帮助学习者掌握 Java 应用在生产环境中的性能分析与优化能力。

20

2026.01.20

PS使用蒙版相关教程
PS使用蒙版相关教程

本专题整合了ps使用蒙版相关教程,阅读专题下面的文章了解更多详细内容。

62

2026.01.19

java用途介绍
java用途介绍

本专题整合了java用途功能相关介绍,阅读专题下面的文章了解更多详细内容。

87

2026.01.19

java输出数组相关教程
java输出数组相关教程

本专题整合了java输出数组相关教程,阅读专题下面的文章了解更多详细内容。

39

2026.01.19

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

10

2026.01.19

xml格式相关教程
xml格式相关教程

本专题整合了xml格式相关教程汇总,阅读专题下面的文章了解更多详细内容。

13

2026.01.19

PHP WebSocket 实时通信开发
PHP WebSocket 实时通信开发

本专题系统讲解 PHP 在实时通信与长连接场景中的应用实践,涵盖 WebSocket 协议原理、服务端连接管理、消息推送机制、心跳检测、断线重连以及与前端的实时交互实现。通过聊天系统、实时通知等案例,帮助开发者掌握 使用 PHP 构建实时通信与推送服务的完整开发流程,适用于即时消息与高互动性应用场景。

19

2026.01.19

微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

160

2026.01.18

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
快速入门Node.JS全套完整版
快速入门Node.JS全套完整版

共83课时 | 8.3万人学习

nodejs开发基础教程
nodejs开发基础教程

共15课时 | 4.5万人学习

JavaScript设计模式视频教程
JavaScript设计模式视频教程

共28课时 | 5.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号