前言

基于上一篇Web Api Controller分类,在MVC中我们通常要按自己的业务来划分Controller层, 好处多多,那么Express框架作为Node.js的一款MVC框架,那么自然也会想到这个问题。 用express框架创建的项目默认是直接在routes和views文件夹下放直接的路由和页面文件。 这篇文章里我就分享下在Express里给路由文件和页面分类。

项目结构图

在该项目中,我依然按照二级目录和三级目录的方式来划分业务逻辑,和上篇WebApi保持相同。routes下分为ContractUs和Products两个文件夹。views里我只放了ContractUs相关文件夹,其余可自己创建试试。

实现思路

1、在Express里主要是依靠app.js来实现路由导航,关键点就是在require和use这两个方法上。 require()则直接传一个相对路径一直到你的路由文件上,use()是路径导航,你可以根据业务划分的文件夹规则来定义。

//系统默认路由
var routes = require('./routes/index');
var users = require('./routes/users'); //自定义分类
var advise = require('./routes/ContractUs/Advise');
var product = require('./routes/ContractUs/Product'); app.use('/', routes);
app.use('/users', users); app.use('/ContractUs/Advise', advise);
app.use('/ContractUs/Product', product);

2、根据use里的路径测试一下分类后的效果

① 默认请求 http://localhost:3000/

②http://localhost:3000/ContractUs/Advise   返回页面

③http://localhost:3000/ContractUs/Advise/list  返回页面

④http://localhost:3000/ContractUs/Product  返回字符串

总结

直接下载demo试试。

http://pan.baidu.com/s/1hq2NGzU

Node.js Express 路由文件分类的更多相关文章

  1. Node.js express路由简单分析

    这2天看了一点node+express的路由源码有了一点眉目,总结一下 对于app.get, 首先给出一张类图: 图1 注意每个路由有一个stack,这个stack中存放了Layer. 路由系统内有三 ...

  2. Node.js Express 框架学习

    转载:http://JavaScript.ruanyifeng.com/nodejs/express.html#toc0 感觉很牛的样子,不过觉得对初学者没太大用,里面很多例子用的api都没有详细的说 ...

  3. Nodejs学习笔记(六)--- Node.js + Express 构建网站预备知识

    目录 前言 新建express项目并自定义路由规则 如何提取页面中的公共部分? 如何提交表单并接收参数? GET 方式 POST 方式 如何字符串加密? 如何使用session? 如何使用cookie ...

  4. Node.js Express框架

    Express 介绍 Express是一个最小的,灵活的Node.js Web应用程序框架,它提供了一套强大的功能来开发Web和移动应用程序. 它有助于基于Node Web应用程序的快速开发.下面是一 ...

  5. node.js express mvc轻量级框架实践

    本文记录的是笔者最近抽私下时间给朋友做的一个时时彩自动下注系统,比较简单,主要也是为了学习一下node.js. 其实逻辑没什么可以深谈的,主要是想说说这套代码结构.结构如下图: js的代码比较难以维护 ...

  6. body-parser Node.js(Express) HTTP请求体解析中间件

    body-parser Node.js(Express) HTTP请求体解析中间件 2016年06月08日     781     声明 在HTTP请求中,POST.PUT和PATCH三种请求方法中包 ...

  7. Nodejs学习笔记(六)—Node.js + Express 构建网站预备知识

    前言 前面经过五篇Node.js的学习,基本可以开始动手构建一个网站应用了,先用这一篇了解一些构建网站的知识! 主要是些基础的东西... 如何去创建路由规则.如何去提交表单并接收表单项的值.如何去给密 ...

  8. node.js + express 初体验【hello world】

    [node.js]  一个神奇的XX 呵呵 :) 不知道怎么形容他才好! [express] 是node.js 开发web应用程序的框架 开发环境:XP 大家共同进步吧 :) 一:前期准备: 1:下载 ...

  9. Node.js Express+Mongodb 项目实战

    Node.js Express+Mongodb 项目实战 这是一个简单的商品管理系统的小项目,包含的功能还算挺全的,项目涵盖了登录.注册,图片上传以及对商品进行增.删.查.改等操作,对于新手来说是个很 ...

随机推荐

  1. centos下为大硬盘分区(大于2T)

    问题:centos/redhat下使用分区工具fdisk创建大于2TB的分区,无法创建 关键字:MBR.GPT.CHS.LBA MBR:主引导记录 GPT:GUID 分区表 CHS:磁柱 磁头 扇区 ...

  2. STL之deque

    deque是一种优化了的,对序列两段进行添加和删除操作的基本序列容器.它允许较为快速的随机访问,但它不像vector把所有对象保存在一块连续的内存块,而是采用多个连续的存储块.向deque两段添加或删 ...

  3. Intellij IDEA 常用快捷键

    [常规] Ctrl+Shift + Enter,语句完成 "!",否定完成,输入表达式时按 "!"键 Ctrl+E,最近的文件 Ctrl+Shift+E,最近更 ...

  4. 注册GitHub和源程序版本管理软件和项目管理软件的优缺点

    目前市面上主要源程序管理软件主要有:Microsoft TFS(Team Foundation Server).GitHub.Trac.BUGZILLA.Apple XCode.SVN Microso ...

  5. CSS的定位

        定位的基本思想:允许你定义元素框相对于其正常位置应该出现的位置,或者相对于父元素.另一个元素甚至浏览器窗口本身的位置        一切皆为框   div.h1 或 p 元素常常被称为块级元素 ...

  6. 【三】用Markdown写blog的常用操作

    本系列有五篇:分别是 [一]Ubuntu14.04+Jekyll+Github Pages搭建静态博客:主要是安装方面 [二]jekyll 的使用 :主要是jekyll的配置 [三]Markdown+ ...

  7. JVM 备注

    一.堆内存分布: JAVA 分为堆内存和栈内存,GC主要针对堆内存 1)Young: 存放新生内存对象 1.1)Eden JVM 刚开始分配的对象 1.2)Survivor1(from) 1.3)Su ...

  8. 我的面板我做主 -- 淘宝UWP中自定义Panel的实现

    在Windows10 UWP开发平台上内置的XMAL布局面板包括RelativePanel.StackPanel.Grid.VariableSizedWrapGrid 和 Canvas.在开发淘宝UW ...

  9. 《CLR.via.C#第三版》第二部分第12章节 泛型 读书笔记(六)

    终于讲到泛型了.当初看到这个书名,最想看的就是作者对泛型,委托,反射这些概念的理解.很多人对泛型的理解停留在泛型集合上,刚开始我也是,随着项目越做越多,对待泛型的认识也越来越深刻. 泛型的概念:泛型是 ...

  10. Windows Azure Storage (17) Azure Storage读取访问地域冗余(Read Access – Geo Redundant Storage, RA-GRS)

    <Windows Azure Platform 系列文章目录> 细心的用户会发现,微软在国外和国内的数据中心建设都是成对的,比如香港数据中心(Asia East)和新加坡的数据中心(Sou ...