一、NodeApi 环境搭建
创建文件夹
新建一个文件夹 nodeApi
在本地终端运行
npm init
创建一个package.json 文件
修改 package.json
"scripts": {
"start": "node server"
},
将原来的test启动命令修改为现在的dev,node server的意思是用node启动本地文件server.js,所以我们要在当前文件夹下在创建一个server.js
安装依赖
在本地终端运行
cnpm install express dotenv --save
//如果你没有全局安装过nodemon,需要先全局安装一次
cnpm install -g nodemon
//然后在开发环境安装
cnpm install -D nodemon
修改package.json,添加一个用nodemon启动项目的新命令
"dev":"nodemon server"
npm安装比较慢,这里我是用淘宝源来安装我们搭建本次项目所需要的环境依赖。
其中express是node的一个框架,每次修改文件都需要重启服务器,所以我们需要nodemon来帮助我们重启。
而dotenv呢?由于项目不同需求,需要配置不同环境变量,按需加载不同的环境变量文件,使用dotenv,可以完美解决这一问题。
创建环境变量
在当前目录下新建文件夹config,在config文件夹下新建文件config.env
NODE_ENV=development
PORT=5000
复制上述代码到新创建的文件下
修改package.json文件
"start": "NODE_ENV=production node server",
当等于生产环境的时候,让我们运行 node server来启动项目
引入依赖和环境变量并使用
const express = require("express")
const dotenv = require("dotenv")
dotenv.config({
path:'./config/config.env',
});
const app = express();
const PORT = process.env.PORT || 3000;
app.listen(PORT,console.log(`Server rnning in ${
process.env.NODE_ENV} mode on port ${
PORT}`))
运行 npm run dev 会发现我们运行成功,监听到的是5000端口,这说明环境变量的和依赖的引入没有问题
创建路由
下面是Node接收get请求返回数据的几种方式
// http://localhost:5000/
app.get("/",(req,res)=>{
// res.send("<h1>Hello World</h1>") 发送HTML
// res.send({mag:"Hello World"}) 发送json格式数据
// res.json({success:true}) 发送json格式数据
// res.sendStatus(400) 发送状态码
res.status(200).json({
success:true,msg:"Hello World"}) //发送状态码和json数据
})
上面我们访问的都是根路径,现在我们尝试给他新的路由地址及尝试新的请求方法
// http://localhost:5000/api:id
app.get("/api/:id",(req,res)=>{
res.status(200).json({
success:true,msg:`根据${
req.params.id}获取单个数据`})
})
// http://localhost:5000/api
app.post("/api",(req,res)=>{
res.status(200).json({
success:true,msg:`创建新的数据`})
})
// http://localhost:5000/api:id
app.put("/api/:i