让nodejs开启服务更简单--express篇
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了让nodejs开启服务更简单--express篇,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4377字,纯文字阅读大概需要7分钟。
内容图文
const express = require(‘express‘) const app = express() app.post(‘/home‘, (req, res, next)=>{ res.end(‘hello express‘) }) app.listen(‘8000‘, ()=>{})
const express = require(‘express‘) const app = express() app.use(‘/‘, (req, res, next)=>{ console.log(‘匹配到了use中间件‘) next() }) app.post(‘/home‘, (req, res, next)=>{ console.log(‘匹配到了post中间件‘) res.end(‘hello express‘) }) app.listen(‘8000‘, ()=>{ console.log(‘开启8000端口‘) })
app.get(‘/goods/:id‘, (req, res, next)=>{ console.log(req.url) console.log(req.params) res.end(‘params‘) }) app.get(‘/login‘, (req, res, next)=>{ console.log(req.url) console.log(req.query) res.end(‘query‘) })
// 获取 json格式的请求参数 app.use(express.json()); // 获取 urlencoded 格式的请求参数 app.use(express.urlencoded({extended: true})); // 在下一个匹配的post请求里通过 req.body 来获取, 有兼容性问题, 需要express4.16以上 app.post(‘/login‘, (req, res, next) => { console.log(req.body); res.end("login success"); });
const express = require(‘express‘) const multer = require(‘multer‘) const app = express() const upload = multer() // 传递非文件类型时, 使用upload.any(),传递文件类型时 upload.array("file") app.use(‘/login‘, upload.array("file"), (req, res, next)=>{ console.log(req.files) console.log(req.body) res.end(‘form-data‘) }) app.listen(8000, () => { console.log(‘开启8000端口‘) });
app.get(‘/login‘, (req, res, next) => { console.log(req.query); // 设置响应码 res.status(200); // 设置响应类型 res.type("application/json"); res.end(JSON.stringify({name: "kiki", age: 16})); // 以上两行可以合并成 res.json({name: "kiki", age: 16}); });
再来看看express稍微复杂一点的用法,当我们通过express提供的接口是 restful类型的时候,同样一个路由地址,可能对应着多种请求方式,如get/post/put/delete。
const express = require(‘express‘) const router = express.Router() router.get(‘/‘, (req, res, next)=>{ res.json([{ name: ‘alice‘, age: 17 },{ name: ‘lili‘, age: 16 }]) }) router.get(‘/:id‘, (req, res, next)=>{ res.json({ name: ‘alice‘, age: 17 }) }) router.post(‘/‘, (req, res, next)=>{ res.json(‘post‘) }) router.put(‘/‘, (req, res, next)=>{ res.json(‘put‘) }) router.delete(‘/‘, (req, res, next)=>{ res.json(‘delete‘) }) module.exports = router;
以上为定义的user文件,可以看到以上的路由是不包含/user这个通用的路由的,因为它被定义在了主入口处,主入口文件引入以上的js文件,将导入的router作为中间件传入到use方法中,这样就可以用四种不同的方式调用同一个接口。
const express = require(‘express‘) const userRouter = require(‘./routers/user‘) const app = express() app.use(‘/user‘, userRouter) app.listen(8000, ()=>{})
const express = require(‘express‘) const app = express() const NOT_FIND = ‘NOT_FIND‘ const TIME_OUT = ‘TIME_OUT‘ app.get(‘/login‘, (req, res, next)=>{ next(new Error(NOT_FIND)) }) app.get(‘/home‘, (req, ers, next)=>[ next(new Error(TIME_OUT)) ]) app.use((error, req, res, next)=>{ console.log(‘>>>>>>>>>error‘, error) let code = 400; let message = ‘‘ switch(error.message){ case NOT_FIND: message = ‘您的信息有误‘ break; case TIME_OUT: message = ‘已超时‘; break; default: break; } res.json({ code, message }) }) app.listen(8000, ()=>{})
原文:https://www.cnblogs.com/vigourice/p/15088007.html
内容总结
以上是互联网集市为您收集整理的让nodejs开启服务更简单--express篇全部内容,希望文章能够帮你解决让nodejs开启服务更简单--express篇所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。