ubiquitous-nodejs


ubiquitous-nodejs

⚡ ubiquity-nodejs 是一个基于 node.js 的 web 脚手架。😘 支持模版渲染、Restful API、ORM 等特性,遵循 MVC 架构。

如何部署项目?

仓库地址:

本地部署

  1. 直接使用 git 拉取项目源码,并进入项目根目录
git clone https://gitee.com/pudongping/ubiquitous-nodejs.git ubiquitous && cd ./ubiquitous
  1. 安装项目依赖包
npm install
  1. 填写配置信息
# 复制开发环境配置文件
cp ./config/development.js.example ./config/development.js

# 复制生产环境配置文件
cp ./config/production.js.example ./config/production.js

# 复制测试环境配置文件
cp ./config/test.js.example ./config/test.js
  1. 导入初始数据表

    这里只是为了演示 restful api 的 CRUD 功能,故此创建了一个初始数据库。

# 连接数据库
mysql -h <your-mysql-host> -u <your-mysql-account> -p <your-mysql-password>;

# 导入初始数据表
source ./database/ubiquitous.sql;
  1. 启动项目

    以下方式执行任意一条命令即可

# 直接使用 node 执行项目入口文件的方式
node --use_strict app.js

# 使用 npm 执行
# 运行开发环境
npm start
# 或者
npm run dev

# 运行生产环境
npm run prod

# 运行测试环境
npm run test
  1. 搭建完毕!enjoy it! ✌️

    可以打开浏览器访问 localhost:9500 或者 127.0.0.1:9500 进行访问,即可看到首页欢迎语。

关于项目目录


├── LICENSE  License
├── README.md  项目说明文档
├── app.js  项目入口文件
├── bootstrap  项目启动目录
│   ├── boot.js  启动文件
│   ├── db.js  数据库封装
│   ├── rest.js  restful api 方法封装
│   ├── static-files.js  静态文件处理方法封装
│   └── templating.js  模版处理方法封装
├── config  配置文件目录
│   ├── development.js  开发环境配置文件
│   ├── development.js.example  开发环境配置文件模版
│   ├── production.js.example  生产环境配置文件模版
│   └── test.js.example  测试环境配置文件模板
├── constants  常量文件
│   └── ErrorCode.js  api 错误码常量
├── controllers  控制器目录
│   ├── auth  auth 模块目录
│   │   └── user_controller.js  用户控制器(这里作为演示 restful api 写的 demo)
│   └── home_controller.js  首页控制器 (这里作为演示模版调用写的 demo)
├── database  数据文件目录
│   └── ubiquitous.sql  初始化数据库文件
├── lib  工具目录
│   ├── api_error.js  自定义错误异常类
│   └── helper.js  助手函数
├── loader.js  项目加载文件(这里定义项目全局变量)
├── models  模型目录
│   ├── WebSite.js  站点模型文件
│   ├── auth  auth 模块模型目录
│   │   └── User.js  用户模型文件
│   └── model.js  自动化扫描加载所有的模型
├── package-lock.json  插件包描述锁文件
├── package.json  插件包描述文件
├── routes  路由目录
│   ├── api.js  restful api 路由目录
│   └── web.js  web 路由目录
├── services  服务层目录
│   └── auth  auth 模块服务层目录
│       └── user_service.js  用户服务层文件
├── static  静态文件目录
│   ├── css  样式文件目录
│   │   ├── googleapis-fonts.css
│   │   └── iview.css
│   ├── fonts  字体文件目录
│   └── js  js 文件目录
│       ├── iview.min.js
│       └── vue.min.js
└── views  视图层文件目录
    ├── base.html  视图基础文件
    ├── home  home 模块视图文件目录
    │   └── hello.html
    └── home.html  首页视图文件

项目所使用依赖包

插件包作用
koa使用 Koa2 作为 web 框架
koa-router处理 url
koa-bodyparser解析原始 request 的 body
nunjucks模版引擎
cross-env环境脚本的跨平台设置
mz支持 Promise 的 fs 模块
mime读取文件的 mime
mysql2Node.js 的 mysql 驱动程序
sequelizeNode.js 的 ORM 框架
moment日期处理

使用演示

  • 如果需要使用模版引擎的方式,请查看 controllers/home_controller.js 文件。
  • 如果需要使用 api 的方式,请查看 controllers/auth/user_controller.js 文件。

感谢支持

如果你觉得本项目对你有所帮助,请帮忙给个 Star
如果你想贡献一份力量,欢迎提交 Pull Request


文章作者: Alex
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Alex !
评论
  目录