前端Node的实用方法
Posted Mzs-Qsy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了前端Node的实用方法相关的知识,希望对你有一定的参考价值。
Node
一、什么是Node
Node是以基于Chrome V8引擎的javascript运行环境,使用了一个事件驱动、非阻塞式I/O模型(I/O是 input/output的缩写,即输入输出端口,在传统的编程模式中,I/O操作阻塞了代码的执行,极大的降低了程序的效率),Node的出现让JavaScript 运行在服务端的开发平台,具有相当重要的意义
二、初识Node
1、路径
node通过ch
切换路径到文件路径,node的工作路径如果不切换会导致操作的失败d:
可以切换盘符,通过ch
切换到工作文件
2、命令获取路径
在Node中,可以通过node命令来获取相对路径
*__dirname: 可以获取到当前js文件所属的目录的绝对路径.*
*__filename: 可以获取当前js文件的绝对路径.*
3、引入内置path模块
const fs = require(\'fs\');
const path = require(\'path\');
const fullPath = path.join(__dirname, \'/data\');
console.log(fullPath);
fs.writeFile(fullPath, \'么么哒!\', \'utf-8\', err=>{
if(err) return console.log(err);
console.log(\'yes yyds!!!\');
});
4、Buffer
因为JavaScript语言自身只有字符串数据类型,没有二进制数据类型,但在处理TCP流或文件流时必须使用二进制数据,所以Node.js定义了一个专门存放二进制数据的缓存区Buffer,在读取文件时,返回data数据时Buffer类型,所以需要转换为字符串
fs.readFile(\'./data/1.txt\',(err, data) => {
if(err){
return console.log(\'读取发生错误:\'+err);
}
console.log( data.toString());
});
三、http模块
http的简单图解
const http = require(\'http\');
//创建1个服务
const server = http.createServer((request, response) => {
response.end(\'Hello, Node.js!\');
});
//监听服务
server.listen(3000, () => console.log(\'服务启动成功\'));
1、示例-获取URL读取文件的内容
const http = require(\'http\');
const fs = require(\'fs\');
const path = require(\'path\');
const server = http.createServer((req, res) => {
//1.将url 和 method 转换为小写
req.url = req.url.toLowerCase();
req.method = req.method.toLowerCase();
const fullPath = path.join(__dirname, \'www\', req.url);
fs.readFile(fullPath, (err, data) => {
if(err){
//读取文件发生错误了. 路径错了.
res.statusCode = 404;
res.end();
}else{
res.end(data);
}
});
});
server.listen(80, ()=>console.log(\'服务正在监听\'));
2、createServer的回调
1.执行时机:只要有来自客户端的HTTP请求,这个函数就会被执行
2.回调函数的两个参数
req对象,客户端向服务端发的数据都被封装在req对象中
req.url 可以获取请求时候的url及其参数
req.method 可以获取客户端请求服务端的方法,post/delete/put/patch/head等
res对象,客户端响应给服务端的数据全部被封装在其中,
res.setHeader(),响应数据新增响应头,通过Content-Type可以返回指定数据的类型
3、请求分为两部分
请求头,键值对,作用是告诉浏览器一些关键的信息
请求体,发给服务器的数据
4、响应分为两部分
响应头 键值对 作用: 浏览器会根据响应头中的数据可能会做出一些处理.
响应体 服务器真正返回给浏览器的数据. 浏览器会解析响应体中的数据.
响应数据
res.write() 向响应体中写入数据
res.end(); 结束响应写入的数据.
5、常见状态码
常见状态码:
200: 服务器处理请求成功
201: 处理成功 并且创建了新的资源
400: 浏览器发送给服务器的数据有问题, 一般都是参数传递错误.
127.0.0.1/api/joke?num=10
401: 身份验证过期.或者没有验证.
403: 权限不足.
404: 资源不存在.
500: 服务器内部发生错误.
四、npm使用
1、初始化
npm init -y //保存了初始化项目的信息
package.json
其中dependencies: 记录了我们下载的插件和版本.
其中scripts属性.
我们可以将一些常用的命令保存在 package.json中的scripts属性中,
npm run xxx; 就可以执行对应的命令.(webstorm不需要,以上是关于前端Node的实用方法的主要内容,如果未能解决你的问题,请参考以下文章