温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Nodejs中内置模块怎么使用

发布时间:2021-03-22 10:35:56 来源:亿速云 阅读:157 作者:小新 栏目:web开发

小编给大家分享一下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来创建一个服务器

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

以上是“Nodejs中内置模块怎么使用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI