Express 基于 Node.js 平台,快速、开放、极简的 Web 开发框架

简介: Express 基于 Node.js 平台,快速、开放、极简的 Web 开发框架
初始化目录:

npm init
复制代码

安装 Express:

npm install express --save
复制代码

HelloWorld:

创建app.js
//导入express
const  express = require('express')
//创建app对象
const app = express()
//构建请求
app.get('/',(req, res)=>res.send('hello world'))
//配置app监听3000端口
app.listen(3000, ()=>console.log('Example app listening on port 3000!'))
复制代码

快速创建应用的骨架-Express 应用程序生成器

全局安装生成器(express-generator)
npm install express-generator -g
复制代码

使用生成器创建项目
express --view=pug service-manage
复制代码

安装依赖
cd service-manage
npm install
复制代码

启动应用
//MacOS/Linux 默认监听3000端口
DEBUG=service-manage:* npm start
//Windows 默认监听3000端口
set DEBUG=service-manage:* & npm start
复制代码

路由基本配置

1. 路由文件routes->tools.js
var express = require('express')
//获取路由实例
var router = express.Router();
/* tools listing */
router.get('/',function (req, res ,next) {
    res.send('Welcome to visit tools... ')
})
router.post('/', function (req, res) {
    res.send('Got a POST request')
})
router.put('/user', function (req, res) {
    res.send('Got a PUT request at /user')
})
router.delete('/user', function (req, res) {
    res.send('Got a DELETE request at /user')
})
//导出tools路由
module.exports = router
复制代码

2. app.js配置新路由文件
//导入toolsRouter模块
var toolsRouter = require('./routes/tools');
//添加路由规则
app.use('/tools', toolsRouter)
复制代码

路由配置

router.all() 对路由规则相同路由进行预处理
router.all('/', function (req, res, next) {
    console.log('Accessing the secret section ...')
    next() // pass control to the next handler
})
复制代码
请求参数

配置
router.get('/users/:userId/books/:bookId',function (req, res ,next) {
    res.send(req.params)
})
复制代码

Test
Route path: /users/:userId/books/:bookId
Request URL: http://localhost:3000/users/34/books/8989
req.params: { "userId": "34", "bookId": "8989" }
复制代码


后台开发必做之Swagger配置


一、安装:

npm i express-swagger-generator --save-dev
复制代码


二、基本配置

const express = require('express');
const app = express();
const expressSwagger = require('express-swagger-generator')(app);
let options = {
    swaggerDefinition: {
        info: {
            description: 'This is a sample server',
            title: 'Swagger',
            version: '1.0.0',
        },
        host: 'localhost:3000',
        basePath: '/v1',
        produces: [
            "application/json",
            "application/xml"
        ],
        schemes: ['http', 'https'],
    securityDefinitions: {
            JWT: {
                type: 'apiKey',
                in: 'header',
                name: 'Authorization',
                description: "",
            }
        }
    },
    basedir: __dirname, //app absolute path
    files: ['./routes/**/*.js'] //Path to the API handle folder
};
expressSwagger(options)
app.listen(3000);
复制代码


三、查看预览

http://localhost:3000/api-docs/api-docs
复制代码


四、swagger.io

http://editor.swagger.io/#
复制代码


后台开发必做之Swagger配置2


安装:
npm install swagger-jsdoc swagger-ui-express --save
复制代码

项目目录新增config.js
// swagger配置信息
exports.swaggerConfig = {
    openapi: '3.0.0',
    title: 'Node Service API',
    version: '1.0.0',
    apis: ['./routes/*.js'],
    routerPath: '/api-docs'
}
复制代码

项目目录新增\swagger\index.js\
var swaggerUi = require('swagger-ui-express');
var swaggerJSDoc = require('swagger-jsdoc');
var config = require('../config')
exports.setSwagger = function (app) {
    const options = {
        definition: {
            openapi: config.swaggerConfig.openapi,
            info: {
                title: config.swaggerConfig.title,
                version: config.swaggerConfig.version
            }
        },
        apis: config.swaggerConfig.apis
    }
    const swaggerSpec = swaggerJSDoc(options)
    app.get('/api-docs.json', (req, res) => {
        res.setHeader('Content-Type', 'application/json')
        res.send(swaggerSpec)
    })
    app.use(config.swaggerConfig.routerPath, swaggerUi.serve, swaggerUi.setup(swaggerSpec))
}
复制代码

app.js配置
var swaggerConfig = require('./swagger')
...
var app = express();
...
swaggerConfig.setSwagger(app)
复制代码


PM2使用


安装:
npm install pm2 -g
复制代码

启动:
pm2 start app.js
复制代码

其他:
pm2 list
pm2 stop 0
pm2 restart 0
pm2 show 0
pm2 delete 0



相关文章
|
25天前
|
开发框架 JavaScript 安全
js开发:请解释什么是Express框架,以及它在项目中的作用。
Express是Node.js的Web开发框架,简化路由管理,支持HTTP请求处理。它采用中间件系统增强功能,如日志和错误处理,集成多种模板引擎(EJS、Jade、Pug)用于HTML渲染,并提供安全中间件提升应用安全性。其可扩展性允许选用合适插件扩展功能,加速开发进程。
|
3月前
|
开发框架 开发者 Python
深入探究Python Web开发框架:Flask与Django
Python作为一种广泛应用于Web开发的编程语言,其拥有众多优秀的Web开发框架。本文将深入探讨其中两大知名框架——Flask与Django。通过对它们的概念与实践进行比较分析,帮助读者更好地理解和选择适合自己项目需求的Web开发框架。
|
3月前
|
人工智能 JavaScript 前端开发
【利用AI让知识体系化】入门Express框架(三)
【利用AI让知识体系化】入门Express框架
|
3月前
|
XML 人工智能 JavaScript
【利用AI让知识体系化】入门Express框架(二)
【利用AI让知识体系化】入门Express框架
|
3月前
|
存储 JavaScript 数据库
nodejs中express框架实现增删改查接口
nodejs中express框架实现增删改查接口
|
4月前
|
开发框架 JSON JavaScript
Node.js教程-express框架
Node.js教程-express框架
39 1
|
7天前
|
开发框架 JavaScript 前端开发
【Node系列】Express 框架
Express.js 是一个基于 Node.js 平台的极简、灵活的 web 应用开发框架,提供一系列强大的特性来帮助你创建各种 web 和移动设备应用。
23 2
|
2月前
|
Web App开发 JavaScript 前端开发
构建现代Web应用:Vue.js与Node.js的完美结合
在当今快速发展的Web技术领域,选择合适的技术栈对于开发高效、响应迅速的现代Web应用至关重要。本文深入探讨了Vue.js和Node.js结合使用的优势,以及如何利用这两种技术构建一个完整的前后端分离的Web应用。不同于传统的摘要,我们将通过一个实际的项目示例,展示从搭建项目架构到实现具体功能的整个过程,着重介绍了Vue.js在构建用户友好的界面方面的能力,以及Node.js在处理服务器端逻辑和数据库交互中的高效性。通过本文,读者不仅能够理解Vue.js与Node.js各自的特点,还能学习到如何将这两种技术融合应用,以提升Web应用的开发效率和用户体验。
|
2月前
|
开发框架 JavaScript 前端开发
比较两个突出的node.js框架:koa和express
接上文讲述了 koa框架,这边文章比较一下这两个突出的node.js框架:koa和express
|
3月前
|
开发框架 数据库 开发者
揭秘Python Web开发框架的奇妙之旅
在当今数字化时代,Python Web开发框架成为了构建高效、灵活和可扩展的Web应用程序的首选工具。本文将带您深入探索两个备受赞誉的框架——Flask和Django,并分析它们的概念和实践,为您揭示其背后的奇妙之处。
19 3