nodeJs

nodeJS

一、nodeJS介绍

二、原生nodeJS

1、模块:http,fs,path,

​ 1)、http

​ http.createServer(); 创建服务器的

​ 2)、fs

​ fs.readFile(); 读取文件的

​ 3)、path

​ path.extname(); 获取扩展名

2、对象:req(请求对象),res(响应对象)

​ 1)、req(请求对象)

​ req.url;

​ req.query

​ req.body

2)、res(响应对象)

​ res.writeHead();

​ res.write()

​ res.end();

3、搭建了一个web(静态)服务器

const http = require("http");

let app = http.createServer((req,res)=>{
	//静态服务器的体现:你要啥,我给啥。
    //req.url = "/index.html"
	fs.readFile("./www"+req.url,"utf8",(err,data)=>{
        //err
		res.end(data);
	});
});

app.listen(端口号,地址,回调函数);

2、搭建了一个web(包含动态)服务器

const http = require("http");

let app = http.createServer((req,res)=>{

	//动态服务器:后端要处理逻辑(比如:判断,循环,连接数据库)
	
});

app.listen(端口号,地址,回调函数);

三、express框架

1、安装

//安装
npm i express --save

//查看安装是否成功
express -h

//window操作系统建议安装:
npm i express-generator --save

2、建立项目

创建项目目录

在项目目录下运行命令:npm init -y

3、写代码(创建服务器)

const express = require("express");

let app = express();

app.listen(端口号,地址,回调函数);

4、接收请求


app.get();
app.post();

5、请求对象和响应对象

//请求对象
req.query
req.body
req.method


//响应对象
res.send();
res.json
res.sendFile();
res.render();
res.redirect();

6、示例(基本的请求和响应的示例):


const express = require("express");

一、启动服务器
let app = express();

app.listen(端口号,地址,回调函数);

二、处理请求和响应
app.get("地址",(req,res,next)=>{
	//后端的逻辑
//后端的逻辑
	//1、接收请求(前端发来的数据)
	req
	//2、处理(连接数据库)
	连接数据库,判断,循环………………
	//3、响应
	res
});


app.post("地址",(req,res,next)=>{
	//后端的逻辑
	//1、接收请求(前端发来的数据)
	req
	//2、处理(连接数据库)
	连接数据库,判断,循环………………
	//3、响应
	res
});

四、express脚手架

1、创建项目

express -e  项目名称

2、安装依赖

转到项目目录:cd 项目目录

npm i

3、脚手架的目录和文件解析

./bin/www文件
启动服务器

./public文件夹
静态资源的文件夹

./routes文件夹
在app.js里,路由匹配成功后的逻辑。也可以进一步进行匹配路由

./views文件夹
模板文件

./app.js
前端发了请求,要经过app.js。
app.js的代码从上到下执行

如果匹配到路径,那么就跳转到routes文件夹下对应的文件

4、写代码

1、静态资源,
    放在public
2、动态资源
   1)、在app.js里写上路径,对应routes下的文件
   app.use("/loginCheck",loginRouter);
   2)、在routes下新建文件,写代码
   router.get('/', function(req, res, next) {
       // 1、接收浏览器端传来的数据
       // 2、连接数据库进行判断
       
       // 3、响应
       如果是后端渲染,那么找views下文件,进行渲染
       res.render("模板名",数据);
       //如果是前端渲染,那么,就把数据发给前端
       res.send(数据);
       res.json(数据);
    }  
});

五、名词

路由:根据不同的请求路径,执行不同的代码(函数里,也可以写在另外一个文件里)

中间件:处于中间环节的一段代码(函数,,也可以写在另外一个文件里)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值