博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
nodejs项目中的路由写法
阅读量:5810 次
发布时间:2019-06-18

本文共 1477 字,大约阅读时间需要 4 分钟。

1 //两种路由写法,一种封装成函数,返回结果,此种方法可以传递参数, 2 "use strict"; 3 var _ = require("lodash"); 4 var express = require('express'); 5 var router = express.Router(); 6 var thenjs = require('thenjs'); 7  8 module.exports = function(utils) { 9 10     //* 广告 API */11     router.get('/api/ads/:type', function (req, res) {12         res.setHeader("Expires", new Date(Date.now() + 60 * 60 * 1000 * 2).toUTCString());13         var start = utils.moment().startOf('day');14         var end = utils.moment().endOf('day');15 16         // 有时间限制且在时间限制内, 或者无时间限制的广告17         var or = [{start: {'$gte':start}, end: {'$lte': end}}, {start: {$exists: false}, end: {$exists: false}}, {start: null, end: null}];18         Ad.find({type:req.params.type}).or(or).sort('-start position').exec(function(err, ads) {19             res.json({items:ads});20         });21     });22 23     return router;24 };25 26 //第二种写法:27 var express = require('express');28 var router = express.Router();29 30 // 该路由使用的中间件31 router.use(function timeLog(req, res, next) {32     console.log('Time: ', Date.now());33     next();34 });35 // 定义网站主页的路由36 router.get('/', function(req, res) {37     res.send('Birds home page');38 });39 // 定义 about 页面的路由40 router.get('/about', function(req, res) {41     res.send('About birds');42 });43 44 module.exports = router;45 46 //第二种明显不能传递参数,47 48 //第一种比较巧妙,将全局都用到的变量收集到名为utlis的对象中;49 //模块再封装时,传入一个对象形参,完成功能配置;50 //将此页面引入到app.js中将参数传入进去,完成功能;

 

转载于:https://www.cnblogs.com/suoking/p/4988790.html

你可能感兴趣的文章
Floyd最短路算法
查看>>
Class.forName(String name)方法,到底会触发那个类加载器进行类加载行为?
查看>>
CentOS 6.6 FTP install
查看>>
C#------判断btye[]是否为空
查看>>
图解Ajax工作原理
查看>>
oracle导入导出小记
查看>>
聊一聊log4j2配置文件log4j2.xml
查看>>
NeHe OpenGL教程 第七课:光照和键盘
查看>>
修改上一篇文章的node.js代码,支持默认页及支持中文
查看>>
Php实现版本比较接口
查看>>
删除设备和驱动器中软件图标
查看>>
第四章 TCP粘包/拆包问题的解决之道---4.1---
查看>>
html语言
查看>>
从源码看集合ArrayList
查看>>
spring-boot支持websocket
查看>>
菜鸟笔记(一) - Java常见的乱码问题
查看>>
我理想中的前端工作流
查看>>
记一次Git异常操作:将多个repository合并到同一repository的同一分支
查看>>
CodeIgniter 3.0 新手捣鼓源码(一) base_url()
查看>>
Chrome 广告屏蔽功能不影响浏览器性能
查看>>