当前位置: 首页 > 后端技术 > Node.js

1216速成学习

时间:2023-04-04 00:57:03 Node.js

1.节点自动重启工具nodemoncnpminstall-gnodemon1。编写server.jsconstexpress=require('express');constapp=express();app.get('/',function(req,res){res.send({page:'home'})})app.listen(3000,()=>{console.log('在端口3000上运行')});2.运行server.jsnodemonapp.js~~~~~~~~2.express静态资源托管app.use('/',express.static('public'))托管public文件夹的静态资源,其中可以通过http://localhost:3000/index.html访问静态内容(默认是根路径,路径可以改~~~~)二、解决cors跨域请求1、安装cors插件npm我cors2。使用cors插件~~~~app.use(require('cors')())3.连接mongdb数据库~~~~//连接数据库constmongoose=require('mongoose')mongoose.connect('mongodb://localhost:27017/express-test',{useNewUrlParser:true,useUnifiedTopology:true})//定义数据模型constSchema=mongoose.Schema;constProduct=mongoose.model('Product',newSchema({title:String}))//Product.insertMany([{title:'产品1'},{title:'产品2'},{title:'产品3'}])//查找方法--查找所有app.get('/product',asyncfunction(req,res){//查找查询所有res.send(awaitProduct.find();//limit限制数量的资源。send(awaitProduct.limit(2);//skip跳过项目数res.send(awaitProduct.skip(4).limit(2);//skiplimit结合分页//其中参数为查询条件--querytitle是Product1的内容~~~~res.send(awaitProduct.find().where({title:'Product1'}))//sortres.send(awaitProduct.find().sort({_id:-1}))//商品详情页app.get('/products/:id',asyncfunction(req,res){constdata=awaitProduct.findById(req.params.id)res.send(data)})//根据idapp.get('/products/:id',asyncfunction(req,res){constdata=awaitProduct.findById(req.params.id)res.send(data)})postRequest——添加新产品//允许express处理提交的jsonapp.use(express.json())//psotrequestapp.post('/products',asyncfunction(req,res){//表示客户端post提交的数据constdata=req.body//在数据模型Product中,新建一个数据constproduct=awaitProduct.create(data)res.send(product)})putrequest——修改产品信息//put修改产品信息app.put('/products/:id',asyncfunction(req,res){constproduct=awaitProduct.findById(req.params.id)product.title=req.body.titleawaitproduct.save()res.send(product)})deleterequest-deletea~~~~message//deleteapp.delete('/products/:id',asyncfunction(req,res){constproduct=awaitProduct.findById(req.params.id)awaitproduct.remove()res.send({success:true})})~~~~4.vscode接口测试插件-RESTclient@url=http://localhost:3000/GET{{url}}products###GET{{url}}products/5df72b83d390c43b6071cee8~~~~###