首页 > 编程语言 >Node.js(二)express

Node.js(二)express

时间:2022-09-19 09:01:14浏览次数:56  
标签:Node req const res app express js id

npm init -y(初始化项目)

npm install express(引入express)

npx express-generator -e(自动生成模板。添加对 ejs 模板引擎的支持)

app.js

const express=require("express");
const path=require("path");
const logger=require("morgan");

const app=express(); //创建Web应用

// app.get("/",(req,res,next)=>{
//     res.send("Hello Express!");
//     next();
// })

挂载静态资源
app.use("/",express.static(path.join(__dirname,"/public")));

//挂载日子组件
app.use(logger("dev"));

//设置视图文件的路径
app.set('views', path.join(__dirname, 'public'));
//设置视图引擎为ejs
app.set('view engine', 'ejs');


//挂载路由
const indexRouter=require("./router/index")
app.use("/",indexRouter);

const dogRouter=require("./router/dog")
app.use("/dog",dogRouter);

//获取query中的参数
app.get("/cart",(req,res,next)=>{
    let id=req.query.id;
    res.send("Get,id="+id);
})
//获取路径中的值
app.get("/cart/:id/:type",(req,res,next)=>{
    let id=req.params.id;
    res.send(req.url+",id="+id+"type="+req.params.type);
})

//挂载中间件函数
//如果不指明路径则匹配根路径
app.use("/",(req,res,next)=>{
    console.log("当前时间:"+Date.now());
    next();
})


module.exports=app;//导出对象

 

www.js

const app=require("../app.js");
app.listen(3000,"127.0.0.1",()=>{
    console.log("Web应用运行中...");
})

 

./router/dog.js(设置路由)

const express=require("express");
//创建路由对象
const router=express.Router();

const _=require("lodash");

let dogs=[
  {id:1,name:"金毛",price:1000},
  {id:2,name:"阿拉斯加",price:1000},
  {id:3,name:"比熊",price:1000},
  {id:4,name:"泰迪",price:1000},
  {id:5,name:"旺财",price:1000}
]
router.get('/', function(req, res, next) {
    res.render('dog', { title: 'dog',dogs,msg:""});
});

router.get('/delete/:id', function(req, res, next) {
  //拿到索引
  let index=_.findIndex(dogs,{id:parseInt(req.params.id)});
  //删除
  dogs.splice(index,1);
  //返回消息提示
  res.render("dog",{ title: 'dog',dogs,msg:"删除成功"})
});

module.exports=router;

 

标签:Node,req,const,res,app,express,js,id
From: https://www.cnblogs.com/zsbb/p/16706541.html

相关文章

  • Node.js(一)基本node.js读取删除
    npminit-y(初始化项目)vartext2=require("./text2");//解构const{a:A,b:B}=require("./text2")console.log(A,B)console.log(text2.a);console.log(text2.b);......
  • RxJS
    学习抄录加强记忆...入门RxJS是一个库,通过使用observable序列来编写异步和基于事件的程序,提供一个核心的类型Observable,附属类型(Observer/Schedulers/Subjects)和受[......
  • Android——使用GSON库解析json数据(解析菜谱大全返回的JSON数据)
    1.首先,在dependencies依赖库添加GSON库的依赖:implementation'com.google.code.gson:gson:2.8.6'2.有关GSONGSON提供了fromJson()和toJson()两个直接用于解析和生成JSON......
  • Moment.js 如何对时间进行比较获得不同的天数
    对2个Moment的时间进行比较,并且获得不同天数的代码如下:moment().diff(moment(date),'days');这行代码已经简单到不能再简单了。解读简单来说,这个代码的意思就是先......
  • DevExpress列表取消右键折叠展开菜单
    DevExpress版本升级后,以前的右键菜单不再弹出了,替代变成了系统自带的折叠、展开菜单。解决方法:在OptionsMenu中将ShowExpandCollapseltems设置为False即可。......
  • Javaweb-JSON格式的应用
    1什么是json客户端向服务器发送JSON格式的数据JSON是一种数据格式(JSON,即JavaScriptObjectNotation,是js中对象的表示方法)JSON格式表示两个学员信息的代码如下:[{sid......
  • .mat文件批量转存为.json文件的方法
    记录下.mat文件批量转存为.json文件的方法matlab本身是没有json解析包的,因此需要加载一个jsonlab工具包,可以用git命令下载gitclonehttps://github.com/fangq/jsonlab.g......
  • Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre
    场景今天写sql的时候遇到个报错Expression#1ofSELECTlistisnotinGROUPBYclauseandcontainsnonaggre,查了下大概意思是mysql5.7及以上版本SELECT列表的表达式......
  • NODE.JS:我如何使用 Heroku 网站托管我的网站
    NODE.JS:我如何使用Heroku网站托管我的网站文章结构:介绍安装工具使用node和bootstrap创建一个基本网站将节点网站推送到heroku虚拟主机介绍Node的一大优点......
  • nodejs与npm版本管理
    目录一、nodejs版本控制二、npm版本控制1、降级2、升级node与npm版本对应关系及下载:https://nodejs.org/zh-cn/download/releases/使用npm安装包报错“npmWARNnpmnpm......