从零开始学nodejs(第一天)

从零开始学nodejs(第一天),第1张

从零开始学nodejs(第一天)
1、 什么是nodejs
nodejs是javascript代码运行环境,代码解析引擎为v8引擎,和chrome解析引擎一样,v8引擎是目前比较好的解析引擎。
2、nodejs和浏览器的差异
nodejs没有dom、bom、ajax等内置对象,不能进行这些 *** 作。但是有fs对象等适合后端 *** 作的内置对象,nodejs一般用于后端服务搭建。
3、fs对象 (1)fs.readFile()方法
	用于读取文件,简单使用如下:
// 导入fs模块,用来 *** 作文件
const fs = require("fs");

/**
 * readFile()方法是fs对象用于读取文件的方法
 * 包含3个参数
 *  1、文件路径
 *  2、读取文件时采用编码格式,一般默认用“utf-8”(该参数可选);
 *  3、读取参数的回调方法,有err和res两个参数,分别表示失败和成功后的结果
 */
fs.readFile("./files/1.txt", "utf-8", (err, resultStr) => {
  if(err){
    console.log(err); // 读取成功则为null,失败则为err对象
    return
  }
  console.log(resultStr); // 读取成功则为成功的字符串,失败则为undefine
});
(2)fs.writeFile()方法
用于写入文件,简单使用方法如下:
// 导入fs模块,用来 *** 作文件
const fs = require("fs");

/**
 1. writeFile()方法是fs对象用于写入问天的方法
 2. 包含4个参数;
 3.  1、文件路径(没有该文件会新建一个文件)
 4.  2、写入文件内容;
 5.  3、写入文件的编码格式,默认是“utf-8”(该参数可选)
 6.  4、写入参数结果的回调方法,只有一个err参数
 */
fs.writeFile("./files/2.txt", "hello nodeJs", "utf-8", (err) => {
  /**
 7. 写入失败则err为err对象
 8. 写入成功则为null
   */
  if (err) {
    // 写入失败
    console.log(err);
  } else {
    console.log("写入成功");
  }
});
(3)读取路径动态拼接问题
代码执行时,使用“./”或“../”会执行node命令执行时所处的目录,动态拼接 *** 作文件的完整路径,导致读取文件错误
解决方案:
	1、从盘符开始写: 如“c:\users\..........”(注意:‘\’需要转义,所以一般是‘\’). 缺点: 移植性很差
	2、用’__dirname‘:  如:__dirname + 'files/1.txt',__dirname等于当前路径的完整路径
4、path路径模块

引入:

const path = require('path')
(1) path.join()方法
用于拼接路径,一般用这种方法去获取文件完整路径,比用‘+’更加好,可以避免很多麻烦

使用:

const pathStr = path.join(__dirname,'/files/1.txt')
(2)path.basename()
用于获取文件名

使用:

const fpath = "./files/1.txt"
// 使用方法1 只穿一个参数
const fullName = path.basename(fpath);
console.log(fullName); // 1.txt

// 方法2 同时传入文件后缀名
const fileName = path.basename(fpath,'.txt');
console.log(fileName); // 1
(3) path.extname();
用于获取文件扩展名

使用

const fpath = "./files/1.txt"
const extname = path.extname(fpath);
console.log(extname) // txt
5、http模块
http模块是nodejs用于搭建服务器的模块,可用于搭建后端服务

1、导入

const http = require("http")

2、创建服务器实例

const serve = http.createServer()

3、为服务器绑定request事件

serve.on("request",(req,res)=>{
	console.log("someone vist my serve")
    // 客户端请求的url
	console.log(req.url) // '/'
	// 客户端请求的method,
	console.log(req.method) //'GET' 

	//解决响应中文乱码问题
	res.setHeader("Content-Type", "text/html;charset=utf-8");

	//向客户端响应的部分,同时结束本次请求
	res.end("this is response message")
 })

4、启动服务器

serve.listen("80",()=>{
	console.log("server running at http://127.0.0.1")
})

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1320148.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-06-11
下一篇2022-06-11

发表评论

登录后才能评论

评论列表(0条)

    保存