Chinaunix首页 | 论坛 | 博客
  • 博客访问: 672983
  • 博文数量: 102
  • 博客积分: 2585
  • 博客等级: 少校
  • 技术积分: 1115
  • 用 户 组: 普通用户
  • 注册时间: 2005-01-17 02:26
个人简介

IT屌丝一枚

文章分类

全部博文(102)

文章存档

2017年(1)

2016年(1)

2014年(6)

2013年(2)

2012年(1)

2011年(2)

2010年(3)

2009年(3)

2008年(4)

2007年(5)

2006年(40)

2005年(34)

分类: JavaScript

2014-06-11 00:51:16

初学node.js,暂且先从Express来入手,下面是我以Rails程序员的角度,用Rails项目为参照,对最基本的Express项目结构进行对比,做下学习笔记。

典型的Express项目目录结构如下(图一):


1、node_modules目录:
保存node.js的module(模组)的地方,类似于Rails项目中的vendor目录,node.js中的module概念类似于ruby中的gem包,通过安装不同的module,项目可以获取到相关的功能扩展,如模板、数据库接口等。这个目录下面安装的module与项目根目录下的package.json文件有莫大关系。package.json文件类似于rails项目中的Gemfile,指定了项目中依赖的扩展module和相应版本信息。实例见下(图二):


图中中安装了ejs(选择ejs模板时的默认安装)、express(默认安装)和node-mysql三个module;

2、public目录:
这个public目录等于rails项目中的public+assets,分别存放了客户端可以访问的资源,如网页图片、css和前端javascript脚本等资源。

3、routes目录:
express中的routes目录并非和Rails项目中的config/routes.rb文件概念一致,倒是和Rails项目中app/controllers/目录类似,存放了用于处理MVC概念中controller的处理部分,也就是存放对应路由的处理程序。路由信息在app.js中予以定义,见下面(图三):


如图一中有两个路由处理,index和user。

4、views目录:
这个目录的概念与Rails项目中的views完全相同,其中的index.ejs存放的就是路由index.js的模板。

5、app.js文件:
这个文件是Express应用程序的入口文件,存放的Express项目中最基本的配置信息。

6、其他:由于Express只是一个轻量级的Web框架,多数功能只是围绕HTTP协议中常用部分进行了封装,其中没有内置ORM,所以没有MVC概念中Model的部分,在实际项目中必须通过module来进行扩展。
阅读(3431) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~