Heim  >  Artikel  >  Web-Frontend  >  Eine kurze Diskussion über die grundlegende Verwendung integrierter Module in Nodejs

Eine kurze Diskussion über die grundlegende Verwendung integrierter Module in Nodejs

青灯夜游
青灯夜游nach vorne
2021-03-22 09:56:141939Durchsuche

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

Eine kurze Diskussion über die grundlegende Verwendung integrierter Module in 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  
    
哈哈
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来创建一个服务器

Eine kurze Diskussion über die grundlegende Verwendung integrierter Module in Nodejs

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

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

Das obige ist der detaillierte Inhalt vonEine kurze Diskussion über die grundlegende Verwendung integrierter Module in Nodejs. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:csdn.net. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen