Skip to content

CoderTonyChan/node-tony-elm

Repository files navigation

一些知识点

Script

async/await 在node7.0中出现,需要使用harmony模式运行,在7.6以上就能够直接使用了。 (npm install supervisor --save-dev) cross-env NODE_ENV=development 解决跨平台 (npm install cross-env --save-dev) supervisor 进程监控自动重启

需要支持import语法 (require('babel-core/register'))

config-lite (1.5 和 2.1 ) config-lite 是一个轻量的读取配置文件的模块。config-lite 会根据环境变量(NODE_ENV)的不同从当前执行进程目录下的 config 目录加载不同的配置文件。如果不设置 NODE_ENV,则读取默认的 default 配置文件,如果设置了 NODE_ENV,则会合并指定的配置文件和 default 配置文件作为配置,config-lite 支持 .js、.json、.node、.yml、.yaml 后缀的文件。

如果程序以 NODE_ENV=test node app 启动,则通过 require('config-lite') 会依次降级查找 config/test.js、config/test.json、config/test.node、config/test.yml、config/test.yaml 并合并 default 配置; 如果程序以 NODE_ENV=production node app 启动,则通过 require('config-lite') 会依次降级查找 config/production.js、config/production.json、config/production.node、config/production.yml、config/production.yaml 并合并 default 配置。

pm2

http://www.jianshu.com/p/4908912e3535

bodyParser和formidable冲突

技术栈

nodejs + express + mongodb + mongoose + es6/7 + vue

项目构建

express4
https://github.com/expressjs/express/wiki

express-generator
http://www.expressjs.com.cn/starter/generator.html

koa2 wiki
https://github.com/koajs/koa/wiki

注意 阿里的eggjs 已经支持 koa2
https://github.com/eggjs/egg

pm2
npm install -g pm2

mongodb + mongoose
图形界面
Robo 3T

supervisor


项目运行

项目运行之前,请确保系统已经安装以下应用
1、node (6.0 及以上版本)
2、mongodb (开启状态)
3、GraphicsMagick (裁切图片)
cd node-elm

npm install

npm run dev

访问: http://localhost:7777

目标功能

  • IP定位 -- 完成
  • 城市列表 -- 完成
  • 搜索地址 -- 完成
  • 上传图片 -- 完成
  • 添加商铺 -- 完成
  • 添加食品 -- 完成
  • 测量距离 -- 完成
  • 搜索美食,餐馆 -- 完成
  • 根据距离、销量、评分、特色菜、配送方式等进行排序和筛选 -- 完成
  • 评价列表 -- 完成
  • 食品详情 -- 完成
  • 商家详情 -- 完成
  • 购物车功能 -- 完成
  • 登录、注册 -- 完成
  • 修改密码 -- 完成
  • 用户信息 -- 完成
  • 添加、删除、修改收货地址 -- 完成
  • 下单 -- 完成 ✨✨
  • 订单信息 -- 完成
  • 红包 -- 完成
  • 商铺管理 -- 完成
  • 食品管理 -- 完成
  • 管理员权限验证 -- 完成
  • 超级管理员 -- 完成
  • 订单管理 -- 完成
  • 流量统计 -- 完成
  • 前后台路由同构 -- 完成
  • 部署上线 -- 完成

API接口文档

项目布局

.
├── InitData                        初始化数据
│   ├── activity.js                 餐馆活动
│   ├── category.js                 餐馆分类
│   ├── cities.js                   城市列表
│   ├── delivery.js                 配送方式
│   ├── entry.js                    食品分类
│   ├── explain.js                  解释说明
│   ├── hongbao.js                  红包
│   ├── payments.js                 支付方式
│   ├── rate.js                     评论
│   └── remark.js                   备注列表
├── config                          运行配置
│   ├── default.js                  默认配置
│   └── development.js              开发环境
├── controller                      处理中心,负责路由及数据库的具体操作
│   ├── admin
│   │   └── admin.js                管理员
│   ├── bos
│   ├── eus
│   ├── member
│   │   └── vipcart.js              会员卡
│   ├── payapi
│   ├── promotion
│   │   └── hongbao.js              红包
│   ├── shopping
│   │   ├── category.js             餐馆分类
│   │   ├── food.js                 食品
│   │   └── shop.js                 餐馆
│   ├── statis
│   │   └── statis.js               数据统计
│   ├── ugc
│   │   └── rating.js               评论
│   ├── v1
│   │   ├── address.js              收获地址
│   │   ├── captchas.js             验证码
│   │   ├── carts.js                购物车
│   │   ├── cities.js               城市列表
│   │   ├── order.js                订单
│   │   ├── remark.js               备注
│   │   └── search.js               搜索
│   ├── v2
│   │   ├── entry.js                食品分类
│   │   └── user.js                 用户信息
│   ├── v3
│   │   └── explain.js              解析说明
│   └── v4
├── logs                            日志文件
├── middlewares                     中间价
│   ├── check.js                    权限验证    
│   └── statistic.js                API数据统计
├── models                          模型(数据库)
│   ├── admin
│   │   └── admin.js                管理员模型
│   ├── bos
│   │   └── order.js                订单模型
│   ├── eus
│   ├── ids.js
│   ├── member
│   ├── payapi
│   ├── promotion
│   │   └── hongbao.js              红包模型
│   ├── shopping
│   │   ├── activity.js             餐馆活动模型
│   │   ├── category.js             餐馆分类模型
│   │   ├── delivery.js             配送方式模型
│   │   ├── food.js                 食品模型
│   │   └── shop.js                 餐馆模型
│   ├── statis
│   │   └── statis.js               数据统计模型
│   ├── ugc
│   │   └── rating.js               评论模型
│   ├── v1
│   │   ├── address.js              收获地址模型
│   │   ├── cart.js                 购物车模型
│   │   ├── cities.js               城市列表模型
│   │   ├── payments.js             付款方式模型
│   │   └── remark.js               备注模型
│   ├── v2
│   │   ├── entry.js                食品分类模型
│   │   ├── user.js                 用户模型
│   │   └── userInfo.js             用户信息模型
│   ├── v3
│   │   └── explain.js              解释说明模型
│   └── v4
├── mongodb                         连接数据库
│   └── db.js
├── prototype                       基础功能Class
│   ├── addressComponent.js         与腾讯、百度地图API相关的Class
│   └── baseComponent.js            底层类
├── public                          静态资源目录
├── routes                          路由配置
│   ├── admin.js                    管理员
│   ├── bos.js                      订单
│   ├── eus.js                      用户
│   ├── index.js                    路由配置主文件
│   ├── member.js                   会员卡
│   ├── payapi.js                   付款
│   ├── promotion.js                红包
│   ├── shopping.js                 餐馆、食品、Menu
│   ├── statis.js                   数据统计
│   ├── ugc.js                      评论
│   ├── v1.js                       城市、用户、收获地址
│   ├── v2.js                       登陆、退出
│   ├── v3.js                       解释说明
│   └── v4.js                       餐馆
├── screenshots                     项目截图
├── views   
├── .babelrc 
├── .gitignore
├── API.md                          接口文档
├── app.js                          基础配置
├── COPYING                         GPL协议
├── index.js                        入口文件
├── package.json
├── README.md                  
.

47 directories, 197 files