express4.x学习记录——关于路由控制器的写法
来源:互联网 发布:android 监听有线网络 编辑:程序博客网 时间:2024/05/16 04:11
网上大部分看到的express中app.js里面路由控制器有app.get()和app.post()两种
最简单的路由控制器写法就是直接在app.js中直接写出路由设置的回调函数。例如:
app.get('/', function(req, res){ res.render('index');});这种就是直接在回调函数里面写页面渲染的代码。但是随着代码越来越多,会导致app.js的内容太多而且冗杂,难以维护,这样就违背了代码模块化的思想。所以目前最实用的就是把app.js作为一个简单的路由分配器(路由控制器只负责分配路由,然后到对应的文件中找到对应的路由方法,实现路由功能)。
在使用express 4.x框架时,我发现它的做法和我的做法有点不一样,但是效果都是一样的。具体的就是以下两种方法:
一、使用app.get()方法(我自己的做法)
1、在app.js中声明一个本地文件模块
var routes = require('./routes/index')
加入routes文件夹下面的index.js文件,然后把我们的路由方法写到该文件中,实现分离。
2、路由控制器的写法:
app.get('/', routes.index);
这里就把app.get的回调函数通过方法的调用分离到了对应的方法中,而不是以下全写在app.js中
3、然后就是routes/index.js文件中的代码:
router.index = function(req, res){ res.render('index', {title:'Express'});}这里使用js面向对象的写法就行了。需要注意的是这里方法的前面是用得router。而我看有些express 3.x的写法是写的exports,但是我这里用exports却又不行,具体的我也没有刻意去了解,对于我这样的实用主义者来说,能用就行,何必深究,毕竟还没到研究的地步。
以上就是我的路由控制器的写法。
然后下面给大家看看express 4.x原创的写法。
二、express 4.x路由控制器的写法
1、在app.js中声明一个本地文件模块(这一点和我的是一样的)
var routes = require('./routes/index')
加入routes文件夹下面的index.js文件,然后把我们的路由方法写到该文件中,实现分离。
2、路由控制器的写法(与我不同了)
app.use('/', routes);
通过中间件来设置路由。
3、routes文件夹下面的index.js中的写法
router.get('/', function(req, res, next) { res.render('index', { title: 'Express' });});他是在这里写的一个路由控制器,而且也是可行的。
至于哪种方法更好我暂时还不知道,只是把这两种发放给大家介绍介绍。
如果哪里写的有误或者不好希望大家支出,毕竟我也不是什么大牛,还在不断进步中。
0 0
- express4.x学习记录——关于路由控制器的写法
- laravel 学习笔记——路由(路由与控制器)
- laravel 学习笔记——路由(路由与控制器)
- Laravel 学习笔记——路由(路由与控制器)
- 关于express4.2.0与express3.x操作的区别
- 关于nodejs express4.X框架不支持layout模板的问题解决
- Nodejs4.x+express4.13.1入门 项目搭建及简单的路由控制
- laravel 学习笔记——路由(路由与控制器、资源路由)
- php\symfony3 学习记录(三) 路由和控制器
- nodejs-express4.X框架路由中获取参数值方法
- 【node.js学习】--(4)--Express4.x框架
- node.js学习二(Express4.x)
- nodejs学习express4.x+mongodb(一)
- nodejs学习express4.x+mongodb(二)
- express4.x版本 的 post 提交
- nodejs+express4.X的文件下载
- Express4.x中res.format()的用法
- 《node.js实战》案例—基于Express4.x框架的图片上传及下载的web应用
- 实现字符串循环右移N位(改进版)
- 使用.NET REACTOR使用方法,制作软件许可证,做一个简单的许可证系统步骤
- 面试题9(变形)跳台阶
- PhotoShop制作GIF图片
- 一个Demo展示Storyboard的强大
- express4.x学习记录——关于路由控制器的写法
- 蓝桥杯之古代赌局
- c++在遍历vector数组的时候,发生的传出引用的错误,特别记录一下
- 公开课机器学习笔记(16)学习理论一 经验风险最小化ERM
- CSDN博客迁移
- 调试信息;
- 数据库的一点问题
- linux kernel 时钟系统的前世今生
- 在做日本方面项目的感受