-
路由拆分:
就是把入口文件(app.js 或者 index.js)里的模块(路由,接口api)给拆分到router目录下不同文件里,然后通过app.use注册进来,这样有助于后期维护。
1.新建一个router目录,根据项目在目录中创建对应路由文件。
在路由文件中(比如:member-router.js中):
// 1.首先引入express, const express= require('express'); // 2.然后创建router对象, const router = express.Router(); // router 就相当于app子对象,与app包含的API是相同的 。包含了method,use和all 等API。 // 具体逻辑 router.get('/list',(req,res)=>{ xxxx; }) // 3.最后通过module.exports 导出。 module.exports = router;
2.在app入口文件引入路由并注册。
// 引入 const memberRouter = require('./router/member-router'); // 注册 app.use('member',memberRouter); //设置路由路径,有助于区分。(相当于命名空间)
查看全部 -
express路由API使用
1.匹配所有的请求类型
app.all('path',func)
app.use('path',func)
2.匹配所有的uri
使用*来匹配所有的uri,常用的场景有打印请求日志 等等。
app.all('*',func)
app.use('*',func)
* app.use 通常用于中间件
查看全部 -
路由:就是URL到函数的映射,每个URL路径都对应个函数。
如:当访问 /users 的时候就会执行 getAllUsers() 函数;
定义路由:
通过请求类型:get/post/put/delete....
app.Method('路径',处理函数(res 请求对象,res 响应对象))
通过路径:
app.METHOD('/xxx/oo',(req,res)=>{})
查看全部 -
什么是Node.js与Express:
Node.js是一个跨平台的JavaScript运行时环境,可用于创建各种服务器端工具和应用程序,而Express是基于Node.js的快速、灵活、简洁的Web开发框架,可以帮助你快速地搭建一个完整功能的网站。
创建express应用:
1.创建项目:mkdir project_name
2.进入project:cd project_name
3.初始化项目 :在项目下执行 npm init -y
4.创建git 仓库::在项目下执行 git init
5.添加忽略文件:
1.在项目文件夹里创建 .gitignore 文件
2.把node_modules 忽略了
6.安装express :
1.npm i express -S
-S 表示生产环境
7.安装 & 配置nodemon:
1.nodemon 自动检测文件变化,启动服务。
2.安装:npm install nodemon -D
-D 即dev,用于开发环境。
3.在package.json中添加脚本方便启动:
"scripts":{
"start":"nodemon src/app.js"
}
8.创建src文件夹,并在src下创建app入口文件(app.js)
9.在app.js里写入基础代码:
// 导入express模块
const express = require('express');
// 创建express实例
const app = express();
app.listen(3000,()={
console.log(Service started:http://localhost:3000');
});
10.在命令行下执行 npm start启动项目
查看全部 -
nvm ls -查看当前安装的node.js版本
nvm use node.js版本 -设置使用哪个版本
nvm install node.js版本 -安装node.js对应版本,没有指定则安装最新的
查看全部 -
nvm ls -查看当前安装的node.js版本
nvm use node.js版本 -设置使用哪个版本
nvm install node.js版本 -安装node.js对应版本,没有指定则安装最新的
查看全部 -
nodemon 自动检测文件变化,启动服务。
配置:
安装:npm install nodemon -D
-D 即dev,用于开发环境。
在package.json中添加脚本方便启动:
"scripts":{
"start":"nodemon src/app.js"
}
可以通过npm start来启动。
查看全部 -
3 . 文件上传
npm install --save multer
查看全部 -
2 . 中间件路由的使用
router.get('/login',[valid_login_params],(req,res,next) => {
res.json({
message:"from to demo"
})
})
路由中间件可以写N个
查看全部 -
//读取系统CPU的信息
// 引入模块
const os = require("os");
// 读取系统CPU数量
const cpu = os.cpus();
// 打印结果
console.log(cpu.length);
// 获取内存
const total = os.totalmem();
// 打印结果
console.log(total/1024/1024/1024);
// 剩余内存
const free = os.freemem();
console.log(free/1024/1024/1024);
// web服务
const http = require("http");
const sever = http.createServer((req,res)=>{
res.end("hello world")
})
sever.listen(8080,'127.0.0.1',()=>{
console.log("服务启动成功")
})
查看全部 -
<h4>根据回调的传参个数判定回调函数是否为异常处理函数还是正常路由处理函数。</h4><p>express框架层面应该做了识别处理,<br/>如果你给app.use传递一个有四个传参 的回调函数,那么express认为此回调函数是错误处理函数,那么回调函数传参依次为 :<code>err,req, res, next</code>;<br/>如果你给app.use传递一个有三个传参的回调函数,那么express认为此回调函数是错误处理函数,那么回调函数传参依次为 :<br/><code>req, res, next</code></p><p><br/></p>查看全部
-
//app.router.js
const express = require('express') ;
const router = express.Router();
router.get('/list',(req,res)=>{
res.json({
msg:'test router'
})
})
module.exports = router;const express = require('express') ;
const appRouter = require('./app.router') ; //app.router.js
const moreRouter = require('./app.moreRouter') ; //app.moreRouter.js
const app = express();
app.use('/main',appRouter) //http://127.0.0.1:3000/main/list
app.use('/more',moreRouter) //http://127.0.0.1:3000/more/list
app.listen(3000, ()=>console.log('please open 3000 port'))查看全部 -
## express
### all API的用法
#### 匹配所有的请求类型
```js
app.all('/demo',(req, res)=>{})
```
#### 匹配所有的uri
使用*来匹配所有的uri,常用的场景有打印请求日志 等等。
```js
app.all('*',(req, res)=>{})
```
查看全部 -
const express = require('express') ; const app = express(); app.get('/demo',(req,res)=>{res.json({msg:'test get'})}) app.post('/demo',(req,res)=>{res.json({msg:'test post'})}) app.listen(3000, ()=>console.log('please open 3000 port'))
查看全部 -
通俗的讲,一个完整的url中,除了域名和端口的部分,剩下的就是uri,可以用uri唯一标识资源。如下:
`https://blog.csdn.net/qq_32595453/article/details/79516787`;
上面的uri就是 `/qq_32595453/article/details/79516787`;
查看全部
举报