Nodejs项目典型目录结构
项目的组织就犹如行军作战的阵法和章法,混乱而无目的的军队几乎不可能打胜仗,有其形,有其魂的组织的生命周期才会更长,其形态才更稳固。 --《深入浅出Nodejs》
这一篇我们来聊聊结缘
的项目结构。由于结缘
是web应用,我们以常见的MVC为主要框架,然后在这个基础上进行扩展。结合卜灵的《深入浅出Nodejs》产品化一章中的应用项目结构以及之前做的项目的一些经验,结缘
的目录结构如下:
.
├── CHANGELOG.md //网站的变更历史
├── INSTALL.md // 安装说明
├── LICENSE // 遵循的网络协议
├── Makefile //Makefile 文件
├── README.md
├── api //提供给移动端调用的api逻辑,类似web端的controllers
├── app.js
├── benchmark //基准测试
├── bin //可执行文件目录
├── config //设置文件目录
├── controllers //控制器
├── dispatch.js //多进程管理
├── libs //没有模块化得文件目录
├── logs //存放log信息
├── middlewares //中间件
├── models //数据库模型文件
├── node_modules // nodejs库
├── npm-debug.log // 忽略,npm的log文件
├── package.json //描述文件,依赖配置
├── proxy // 数据代理目录
├── public //静态文件目录
├── routes //路由处理目录
├── routes.js // 路由注册文件
├── test //测试文件目录
├── tools //工具文件目录
└── views // 视图目录
16 directories, 10 files
这里也没啥特别要注意的,这里的Makefile
作为构建工具后面可能被gulp
替代以实现更多定制和跨平台特性,models
文件和传统的模型概念上不同,是用来描述数据库的Schema
的,传统的模型和proxy
更加接近,proxy
提供对数据库数据的代理方法。
相关文章
- 使用NodeJS搭建你的微信机器人
你可以把该程序运行在任何支持 NodeJS 的云平台,或者你自己的 VPS 上。 首先你需要理解几个概念: node.js -使用v8引擎的服务器端 JavaScript npm - nodejs
- webpack和browserify用法
这两种技术都是使用按需加载的模块化的思想来开发项目,让我可以按照node的require模块的方法写前端代码。。 两者用法、思想相差不大 1.webpack的安装及使用方法 安装webpack:
- 基于webpack的前后端分离开发实践
前后端分离开发分析 前后端开发分离,即是前后端除商定 API 接口外,其他的开发工作都不再相互干涉,前端开发进度不再受后端影响。 以开发一个 SPA 单页应用为例,日常开发工作流程变为: 前后端同设
- Node多版本管理
为每个项目指定运行的Node版本 nvm 安装nvm, 用于下载和管理NodeJS的版本$ curl -o- https://raw.githubusercontent.com/creationix
- nodejs的客户端deploy墨客子链
前提条件: 已经在本地建了一个私有链,已经启动了vnode,已经启动两个scs 在vnode上已经有了主账户,并已经启动miner.start(),并且主账户已经有至少200个moac 假设你的主账
随机推荐
- 使用NodeJS搭建你的微信机器人
你可以把该程序运行在任何支持 NodeJS 的云平台,或者你自己的 VPS 上。 首先你需要理解几个概念: node.js -使用v8引擎的服务器端 JavaScript npm - nodejs
- webpack和browserify用法
这两种技术都是使用按需加载的模块化的思想来开发项目,让我可以按照node的require模块的方法写前端代码。。 两者用法、思想相差不大 1.webpack的安装及使用方法 安装webpack:
- 基于webpack的前后端分离开发实践
前后端分离开发分析 前后端开发分离,即是前后端除商定 API 接口外,其他的开发工作都不再相互干涉,前端开发进度不再受后端影响。 以开发一个 SPA 单页应用为例,日常开发工作流程变为: 前后端同设
- Node多版本管理
为每个项目指定运行的Node版本 nvm 安装nvm, 用于下载和管理NodeJS的版本$ curl -o- https://raw.githubusercontent.com/creationix
- nodejs的客户端deploy墨客子链
前提条件: 已经在本地建了一个私有链,已经启动了vnode,已经启动两个scs 在vnode上已经有了主账户,并已经启动miner.start(),并且主账户已经有至少200个moac 假设你的主账