当前位置: 首页 > news >正文

中国化学工程第六建设有限公司优化营商环境个人心得体会

中国化学工程第六建设有限公司,优化营商环境个人心得体会,国家企业信用信息公示系统官网查询,有哪些做伦敦金的网站【读书后台管理系统】—后端框架搭建(二) 一、 Node 简介 Node 是一个基于 V8 引擎的 Javascript 运行环境,它使得 Javascript 可以运行在服务端,直接与操作系统进行交互,与文件控制、网络交互、进程控制等 Chrome …

【读书后台管理系统】—后端框架搭建(二)

一、 Node 简介

Node 是一个基于 V8 引擎的 Javascript 运行环境,它使得 Javascript 可以运行在服务端,直接与操作系统进行交互,与文件控制、网络交互、进程控制等

Chrome 浏览器同样是集成了 V8 引擎的 Javascript 运行环境,与 Node 不同的是他们向 Javascript 注入的内容不同,Chrome 向 Javascript 注入了 window 对象,Node 注入的是 global,这使得两者应用场景完全不同,Chrome 的 Javascript 所有指令都需要通过 Chrome 浏览器作为中介实现

二、Express 简介

express 是一个轻量级的 Node Web 服务端框架,同样是一个人气超高的项目,它可以帮助我们快速搭建基于 Node 的 Web 应用

📢项目初始化

创建项目

mkdir admin-imooc-node
cd admin-imooc-node
npm init -y

安装依赖

npm i -S express

创建 app.js

const express = require('express')// 创建 express 应用
const app = express()// 监听 / 路径的 get 请求
app.get('/', function(req, res) {res.send('hello node')
})// 使 express 监听 5000 端口号发起的 http 请求
const server = app.listen(5000, function() {const { address, port } = server.address()console.log('Http Server is running on http://%s:%s', address, port)
})

三、Express 三大基础概念

1️⃣中间件
中间件是一个函数,在请求和响应周期中被顺序调用

注意:中间件需要在响应结束前被调用

const myLogger = function(req, res, next) {console.log('myLogger')next()
}app.use(myLogger)

2️⃣路由

应用如何响应请求的一种规则

响应 / 路径的 get 请求:

app.get('/', function(req, res) {res.send('hello node')
})

响应 / 路径的 post 请求:

app.post('/', function(req, res) {res.send('hello node')
})

规则主要分两部分:

请求方法:get、post…
请求的路径:/、/user、/.*fly$/…

3️⃣异常处理

通过自定义异常处理中间件处理请求中产生的异常

app.get('/', function(req, res) {throw new Error('something has error...')
})const errorHandler = function (err, req, res, next) {console.log('errorHandler...')res.status(500)res.send('down...')
}app.use(errorHandler)

四、项目框架搭建

路由

安装 boom 依赖:

npm i -S boom

创建 router 文件夹,创建 router/index.js:

const express = require('express')
const boom = require('boom')
const userRouter = require('./user')
const {CODE_ERROR
} = require('../utils/constant')// 注册路由
const router = express.Router()router.get('/', function(req, res) {res.send('欢迎学习读书后台管理系统')
})// 通过 userRouter 来处理 /user 路由,对路由处理进行解耦
router.use('/user', userRouter)/*** 集中处理404请求的中间件* 注意:该中间件必须放在正常处理流程之后* 否则,会拦截正常请求*/
router.use((req, res, next) => {next(boom.notFound('接口不存在'))
})/*** 自定义路由异常处理中间件* 注意两点:* 第一,方法的参数不能减少* 第二,方法的必须放在路由最后*/
router.use((err, req, res, next) => {const msg = (err && err.message) || '系统错误'const statusCode = (err.output && err.output.statusCode) || 500;const errorMsg = (err.output && err.output.payload && err.output.payload.error) || err.messageres.status(statusCode).json({code: CODE_ERROR,msg,error: statusCode,errorMsg})
})module.exports = router

创建 router/use.js:

const express = require('express')const router = express.Router()router.get('/info', function(req, res, next) {res.json('user info...')
})module.exports = router

创建 utils/constant:

module.exports = {CODE_ERROR: -1
}

验证 /user/info:

"user info..."

验证 /user/login:

{"code":-1,"msg":"接口不存在","error":404,"errorMsg":"Not Found"}
http://www.15wanjia.com/news/14406.html

相关文章:

  • 十堰吉安营销型网站优化营销云搜索app
  • 网站域名301重定向百度如何推广产品
  • 做网站图片代码怎么居中搜索引擎营销简称seo
  • 江苏威达建设有限公司网站十大少儿编程教育品牌
  • 一个提高网站流量的常用方法网络营销的发展趋势
  • 那个网站做国外售货自己建网站详细流程
  • 优购物app最新版下载杭州网站优化
  • 郑州一网网站建设百度指数关键词未收录怎么办
  • 怎样做网站的快捷方式百度搜索词热度查询
  • 网站建设 开票官网seo哪家公司好
  • wordpress 虎嗅学seo需要多久
  • 没建网站 备案中国婚恋网站排名
  • 服务网站策划书网络营销咨询公司
  • 响应式网站视频营销策划公司
  • 网站建设和Java互联网运营自学课程
  • 做网站要用多少钱凡科建站手机版登录
  • 深圳响应式网站建设站长工具关键词排名怎么查
  • 建设局职责郑州网站seo优化公司
  • 做爰全过程免费的视频凤凰网站seo变现培训
  • 重庆建设安全管理网站开发app需要多少资金
  • 沈丘做网站yooker外贸接单平台
  • 公司的网站建设要记到什么科目推广新产品最好的方法
  • 网站建设入门到精通百度服务商平台
  • 上海网站建设熊掌号链接下载
  • 下载素材第三方网站是怎么做最新的全国疫情数据
  • asp网站开发需要什么制作网站费用
  • 做微信公众号用什么网站网络促销的方法有哪些
  • 网站开发报价评估巨量算数数据分析入口
  • 上海人才网招聘网最新招聘网站优化seo怎么做
  • 徐州企业网站制作seo文章代写平台