nodejs部分知识点

nodejs的概念

**node.js:**是一个基于谷歌(Chrome) v8 引擎的 JavaScript运行的一个环境,v8解析js是最快的
node.js方便在于 : 他是在服务器端运行的,不需要通过浏览器,而且,它里面的api大多数都是异步的,他还和其他后端的语言拥有一样的功能,也可以做数据库的增删改查、爬虫、读写文件等等
**node.js的优点:**出现bug 可以快速地定位错误出现在哪里,这样可以快速的找到错误并改正,大大减小了因为bug而耽误的时间。
nodejs是依靠服务器端来运行的,它和浏览器端的区别如下:
客户端的js三个组成部分:
DOM:文档对象模型 js操作网页内容的一套API
BOM:浏览器对象模型 js操作浏览器页面的一套API
ECMAScript:一套js语法的规范 :for
**服务端的js:**只有ECMAScript 独立于浏览器运行

nodejs的执行方法

REPL:全称:read eval print loop
read :读取
eval :解析
print :打印
loop :循环
执行方法4部曲:
1.打开命令框 :window + r(或者直接点击window 输入cmd 回车) 然后输入cmd 回车
2.输入node 回车
3.输入js代码(取得js名 例如:index.js) 回车执行
4.退出node环境 Ctrl+c(按两次,如果还没有退出去,就多按几次)
注意:如果想要检查node安装的版本 在cmd框中输入:node -y,就会出现你所安装的版本,如果和你安装的不一样,那么说明安装失败

http的基本介绍

导入模块 require(“模块名”) 模块名是nodejs内部规定死的 不能动
左边保存的变量可以修改 但是通常情况下和模块名保持一致

1.导入http模块
const http = require(“http”);
2.创建http模块
const server = http.createServer((Request,Response) => {
console.log(111);

2-1:请求路径
console.log(request.url);

2-2:请求方式
console.log(request.method);

2-3:设置响应头:是为了告诉浏览器,返回的数据用utf-8来解析
Response.setHeader(“Content-Type”,“text/html;charset=utf-8”)
Response.end(“要展示的信息”);
})

//监听
server.listen(“端口号”,“IP地址”,() =>{
console.log(“start”);
})
注意:IP地址可以省略不写,但是端口号必须写

例:用http获取文件

1.导入文件模块
const fs = require ("fs");
2.导入http模块
const http = require("http");
3.创建http服务
const server = http.createServer((Request,Response) =>{
设置响应头
Response.setHeader("Content-Type","text/html;charset=utf-8")
console.log(request.url);
let reUrl = request.url;

if(reqUrl === "/index.html"){
fs.readFile("./www/index.html","utf-8",(error) => {
Response.end(data);
})
}
})
开启http服务
server.listen("80",() => {
console.log("start");
})

写入文件

写入文件:writeFile(参数1,参数2,参数3);
参数1:存入信息或者数据的文件的路径
参数2:需要写入的数据
参数3:回调函数

例:

// 导入fs模块
const fs = require("fs");
fs.writeFile(".text.txt", "真相只有一个!!......", err => {
    if(!err) {
        console.log('写入成功');
    } else {
        console.log("写入失败");
    }
})
console.log("底部的代码");

读取文件

读取文件:readFile(参数1,参数2,参数3);
参数1 : 需要被读取的文件的路径
参数2 : 可选参数 我们这里给的是编码格式
参数3 : 回调函数 里面有连个参数 err 表示读取失败时返回的信息 data是读取到的文件信息

例:

const fs = require('fs');
fs.readFile("./text.txt","utf-8",  (err, data) => {
    if(!err) {
        console.log(data);
    }  else {
        console.log("文件读取失败");
    }
})
console.log("底部的代码");

nodejs的路径模块

想要使用nodejs,安装之后,还要导入模块
例:

//导入模块
const path = require("path");
const fs = require("fs");

const pathName = path.join("name","info","assets","index.html");
console.log(pathName);

在使用到路径的地方,使用绝对路径
const txtPath = path.join(__dirname,"novels","text.txt");
console.log(txtPath);

读取文件
fs.readFile(txtPath,"utf-8",(err,data) => {
    if(!err){
        console.log(data);
    }else{
        console.log(err);
    }
})

nodejs的路径问题

nodejs里面的相对路径 : 是相对于当前运行node命令的终端所处的相对路径
为了保证在任何地方打开终端都可以运行,那么我们的路径使用绝对路径

问题: 绝对路径也不可靠
解决办法:_ dirname
dirname:是当前文件所在的文件的绝对路径
filename:是当前文件的绝对路径
例:牙在这里插入图片描述
想要得到上述的路径文件夹中的信息

const  fs = require("fs");

fs.readFile(__dirname + "\\novels\\text.txt","utf-8",(err,data) => {
   console.log(data);
})
console.log(__dirname + "\\novels\\text.txt");
console.log(__filename);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值