Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/icarusion/nodejs-express-mysql

A base nodejs project with Express,using MySQL and ORM of sequelize.
https://github.com/icarusion/nodejs-express-mysql

Last synced: 2 months ago
JSON representation

A base nodejs project with Express,using MySQL and ORM of sequelize.

Awesome Lists containing this project

README

        

#nodejs-express-mysql
> 本项目可以帮你快速搭建一个基于Express的Nodejs后台web和api服务,本项目使用MySQL数据库以及ORM-sequelize,所以不必担心不会写sql

##目录结构


│ .gitignore # 忽略文件,比如 node_modules
│ package.json # 项目配置
│ README.md # 项目说明

├─node_modules


├─config # 相关配置
│ │
│ │ env.js # 指定当前环境
│ └─ config.js # 配置文件,比如MySQL/redis等

├─lib # 工具

├─model # 即Model层,用来定义数据库的表/字段/类型/索引
│ │
│ │ base.js # model基类,这里粗略的用时间戳来生成数据库的id字段
│ └─ user.js # 一个用户数据表的demo

├─script # 一次性执行的一些脚本,比如建表/修复数据等
│ │
│ │ creat_all_tables.js # 运行即创建数据表
│ └─ init.sql # 创建数据库的sql语句,可用mysql指令执行

├─web # web文件和api,express入口文件等
│ │
│ ├─handler # 即Controller层,路由
│ │ │
│ │ ├─ base_handler.js # 基类,权限验证,及接口JSON返回和html返回的封装
│ │ │
│ │ ├─ sign_handler.js # 一个打开用户注册页面的demo
│ │ │
│ │ └─ user_handler.js # 一个用户注册和登录接口的demo
│ │
│ ├─helper
│ │ │
│ │ └─ status_code.js # 接口状态码
│ │
│ ├─static # 静态文件,这里主要是前端用的,可根据自己的技术栈选型
│ │ │
│ │ ├─css
│ │ │
│ │ ├─image
│ │ │
│ │ └─js
│ │
│ ├─template # 即View层
│ │ │
│ │ └─ signup.ejs # 使用ejs模板,即我们的后端需要渲染的html,如果是SPA应用,则一般不需要这个
│ │
│ └─ main.js # 服务入口文件

└─api # 与web类似,如果需要可以将API单独从web分离,比如SPA

##说明

本工程需要提前安装和配置MySQL,如果需要可以再加入Redis来存储用户登录凭证,目前只是普通的session存储,时间为1天
关于如何使用Express,可查看官网http://expressjs.com/
关于如何使用sequelize,可查阅文档http://docs.sequelizejs.com/en/latest/

##安装
```
npm install
```

##运行
```
npm run start
```

##建数据表
```
npm run tables
```

####访问
在浏览器地址栏输入http://127.0.0.1:9800/signup