nodejs之express



nodeJS框架

  1. express4.x[资料多,社区用户多]
  2. koa2[原版人马出品]
  3. egg[国产的nodejs框架]
NodeJs框架主要解决的问题
  • 1.原生NodeJs要处理静态资源访问的问题(CSS,IMG,HTML,IMG);
  • 2.原生Nodejs的路由匹配需要使用字符串或者正则自己去匹配,截取
  • 3.原生NodeJs需要配置环境,比如乱码问题,数据格式问题等等

nodejs框架之express

express操作

  • 安装命令 npm install express -S
  • 查看版本 npm list express
搭建espress的基本环境

新建app.js文件

//导入express模块
const express = require('express');
//通过express()创建一个应用程序app
const app = express();
const path = require('path');
//斜杠来匹配网址的首页
app.get('/',function(req,res){
  //sendFile()必须传入一个绝对路径,给客户端发送一个文件 
 //路径符合,可以加载页面 res.sendFile(path.resolve(__dirname,'index.html'));
  
})

//监听端口号
app.listen(8080,function(){
  console.log('server startup on 8080');
})
路由配置

忽略大小写、自动过滤参数和锚链接信息

//路由匹配
//地址:http://localhost:8080/student/del
//地址:http://localhost:8080/student/del?id=123
//地址:http://localhost:8080/student/del?id=123#abc
//地址:http://localhost:8080/student/DEL?id=123#abc
//以上路径均可以匹配到
app.get('/student/del',function(req,res){})
app.post("地址",function(req,res){});
app.put("地址",function(req,res){});
app.delete("地址",function(req,res){});
app.use()

作用:加载中间间,[一个函数,插件],不需要配路径,不需要指定请求方式

app.use(function(req,res,next){
  //业务处理
})
//处理静态资源
app.use(express.static(__dirname+'/public/'))
//404页面(404处理一定要写在所有路由匹配的最后面,因为它是按顺序执行的)
//前面所有路径都匹配不到,才执行这里的代码
app.use(function(req,res,next){
  res.status(404).sendFile(path.resolve(__dirname,'404.html'))
})
app.all()

不论采取哪一种请求方式,只要地址正确,都能执行app.all()的回调函数

app.all('/student/list',function(req,res){
  res.end("/student/list success");
})
响应函数

作用:服务端给客户端返回的结果函数
sendFile():发送一个文件到客户端

//绝对路径
res.sendFile(path.resolve(__dirname,'index.html'))

end():来自原生Node,表示关闭连接,性能差,中文默认不能解析,不建议使用

res.end("end.....")

json():可以给客户端发送一个json对象或者null,它的Content-Type会自动变成:application/json;

res.json(null);
res.json({name:'frank'})

send():可以给客户端发送Buffer对象,String,Object,Array,Boolean,根据内容动态调整Content-Type

res.send("字符串");
res.send({});
搭建Express脚手架

作用:自动创建一套规范化的项目构架
1.全局安装Express脚手架【-g表示全局安装,每台电脑装一次即可】

npm install express-generator -g

2.用Express脚手架生成一个新项目[my-app为自定义的项目名称]

express --view=ejs my-app
//my-app文件的名字,可更改

3.切换目录并安装依赖包

cd my-app && npm install

4.启动项目

npm start
//默认端口号为3000

5.打开浏览器默认地址:http://localhost:3000

QQ截图20220222194825.png
//项目创建成功

6.项目目录结构

QQ截图20220222195103.png
7.模块化路由
作用:将业务进行模块化划分
(1):在routes下创建一个新的模块文件,列如:shopcart.js

//购物车模块
const express = require('express');
//模块化路由对象
const router = express.Router();
router.get('/',function(req,res){
  res.send([
    {title:"鼠标",price:200},
    {title:"键盘",price:500}
  ]);
})
router.get('/detail',function(req,res){
  res.send({title:"鼠标",price:200})
})
module.exports = router;

(2):在app.js文件引入

//引入模块化路由
var shopcartRouter = require('./routes/shopcart');
//环境配置
app.use(express.json());
app.use(express.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));
//添加模块化路由(一定要放在环境配置的后面,确保环境配置完成再加载自己的业务代码)
app.use('/shopcart',shopcartRouter);

(3):访问shopcart模块路由的时候,一定要写shopcart前缀

http://localhost:3000/shopcart
//返回结果:[{title:"鼠标",price:200},{title:"键盘",price:500}]

http://localhost:3000/shopcart/detail
//返回结果:{title:"鼠标",price:200}

http://localhost:3000/detail
//忘了写shopcart前缀,会出现404页面
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要安装Express,首先你需要安装Node.js。Node.js是一种基于Chrome V8引擎的JavaScript运行环境,用于开发服务器端应用程序。在Ubuntu 18.04上安装Node.js可以参考【Node.js】Node.js入门(一):安装、编辑、编译运行。 安装Node.js之后,你可以使用npm(Node包管理器)来安装ExpressExpress是一个基于Node.js的框架,用于开发Web应用程序。它提供了路由功能、异常处理等基本框架的支持。要安装Express,你可以按照以下步骤进行操作:[2] 1. 在你的项目目录中,打开终端或命令行窗口。 2. 运行以下命令来安装Express:npm install express 3. 安装完成后,你可以在你的项目中使用Express来开发Web应用程序。 下面是一个简单的使用Express的示例代码: ```javascript const express = require('express') const app = express() const port = 3000 app.get('/', (req, res) => { res.send('Hello World!') }) app.listen(port, () => { console.log(`Example app listening on port ${port}`) }) ``` 你可以将上述代码保存为一个名为app.js的文件,并在终端或命令行窗口中运行以下命令来启动应用程序: ``` $ node app.js ``` 现在你可以在浏览器中访问http://localhost:3000来测试你的Express应用程序。 希望以上信息能对你有所帮助!如果你还有其他问题,请随时提问。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [【Node.js】Node.js入门(三):Express安装、测试、使用](https://blog.csdn.net/u010168781/article/details/127565961)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值