2019独角兽企业重金招聘Python工程师标准>>>

Doodoo.js

Doodoo.js -- 中文最佳实践Node.js Web快速开发框架,支持Koa.js中间件。

//base controller, app/demo/controller/base.js
module.exports = class extends doodoo.Controller {async _initialize() {console.log('base _initialize');}async isLogin() {console.log('base isLogin');}
}//index controller, app/demo/controller/index.js
const base = require('./base');
module.exports = class extends base {async _initialize() {await super._initialize();}async index() {this.success("Hello Doodoo.js");}async index2() {this.fail("Hello Doodoo.js");}
}

环境要求:Node.js >= 7.6.0

特性

  • 支持koa全部中间件
  • 支持使用 ES6+ 全部特性来开发项目
  • 支持断点调试 ES6+ 项目
  • 支持多种项目结构和多种项目环境
  • 支持 Route, Controller 中使用Koa.js的所有API
  • 支持多级 Controller
  • 支持模块化开发
  • 支持钩子机制
  • 支持插件机制
  • 支持错误处理
  • 支持全局doodoo变量
  • 支持Bookshelf, knex链接数据库
  • 支持前置,后置操作
  • 支持 Restful 设计
  • 支持启动自定义
  • 支持环境加载配置
  • ...

安装

yarn add doodooke/doodoo.js

创建启动文件

// app/index.js启动文件
const Doodoo = require('doodoo.js');// 初始化项目
const app = new Doodoo();// 启动项目
app.start();

方法

ctx上的函数或参数将自动加载到controller,例如支持 this.body = 'Hello World!', ctx中具体的API请参考Koa.js, controller中的扩展方法如下。

this.ctx;
this.next;
this.isGet();
this.isPost();
this.isAjax();
this.isPjax();
this.isMethod(method);
this.hook.run(name, ...args);
this.download(file);
this.view(data);
this.success(errmsg: "ok", errcode: 0, data: data);
this.error(errmsg = "error", errcode = 1);

配置

# 应用配置
APP_ROOT=app
APP_PORT=3000
APP_HOST=127.0.0.1# MYSQL数据库链接
MYSQL=true
MYSQL_HOST=127.0.0.1
MYSQL_USER=root
MYSQL_PASSWORD=root
MYSQL_DATABASE=doodoo
MYSQL_PORT=3306
MYSQL_CHARSET=utf8mb4# REDIS链接
REDIS=false
REDIS_HOST=127.0.0.1
REDIS_PORT=6379
REDIS_PREFIX=doodoo:# 静态资源服务
STATIC_DIR=www
STATIC_MAXAGE=30 * 24 * 60 * 60
STATIC_DYNAMIC=true

其他

// 控制器初始化,前置,后置,空操作
async _initialize()
async _before()
async _before_index()
async index()
async _after_index()
async _after()

开始应用

// 下载demo
git clone https://github.com/doodooke/doodoo.js.git
// 安装依赖
yarn install
// 进入项目
cd doodoo.js/example
// 启动项目
node app.js

启动信息

[doodoo] Version: 1.0.1
[doodoo] Website: 127.0.0.1
[doodoo] Nodejs Version: v10.5.0
[doodoo] Nodejs Platform: darwin x64
[doodoo] Server Enviroment: development
[doodoo] Server Startup Time: 212ms
[doodoo] Server Current Time: 2018-08-21 11:17:19
[doodoo] Server Running At: http://127.0.0.1:3000

使用手册

Doodoo.js使用手册

问题反馈

在使用中有任何问题,请使用以下联系方式联系我们

QQ群: 874449168(交流群①)

EMAIL: 786699892@qq.com

Github: https://github.com/doodooke/doodoo.js

官网

多多客Doodooke小程序

转载于:https://my.oschina.net/einsqing/blog/1944646

新晋小王子 doodoo.js Node.js开发框架相关推荐

  1. 个人服务器搭建(轻便型) vue.js + node.js + mysql + centOs7

    个人服务器搭建(轻便型) vue.js + node.js + mysql + centOs7 此笔记有望帮助到他人也自己可回顾学习(如有误望指正) 完成以下四点即可开启web服务 一.创建 vue. ...

  2. Vue.js+Node.js开发实战:从入门到项目上线

    <Vue.js+Node.js开发实战:从入门到项目上线>以JavaScript语言为基础,以一个完整的网站开发过程为主线,介绍了一整套面向Web项目的开发技术,如使用Node.js搭建服 ...

  3. 准备:新V8即将到来,Node.js的性能正在改变

    V8的Turbofan的性能特点将如何对我们优化的方式产生影响 审阅:来自V8团队的Franziska Hinkelmann和Benedikt Meurer. **更新:Node.js 8.3.0已经 ...

  4. JavaScript新发展 CoffeeScript Dart Rust Node.js

    CoffeeScript http://coffeescript.org/ CoffeeScript (GitHub repo) 是一个使用纯Ruby编写的新编程语言,创建者 Jeremy Ashke ...

  5. 新 V8 即将推出和 Node.js

    Node.js 就依赖于 V8 引擎, V8 引擎是由 Google 为 Chrome 浏览器编写的 JavaScript 虚拟机.从一开始,V8 的主要目标就是使 JavaScript 运行更加快速 ...

  6. 从零到一的react.js+node.js+express.js+mysql产品开发全流程

    序言 组长说要使自己对产品在技术层面有一个清晰且足够的了解,最好自己动手开发一个迷你产品,例如todolist,因为公司有提供员工自学使用的服务器,所以我就来试试了,而且一步一步的记录自己的学习过程, ...

  7. 一统江湖的大前端(2)—— Mock.js + Node.js 如何与后端潇洒分手

    <一统江湖的大前端>系列是自己的前端学习笔记,旨在介绍javascript在非网页开发领域的应用案例和发现各类好玩的js库,不定期更新.如果你对前端的理解还是写写页面绑绑事件,那你真的是有 ...

  8. Vue.js+Node.js+MySQL的前后端+数据库系统结构

    前言: 大三暑假回国实习, 经过了1个月时间的培训学习, 本人渐渐熟悉了实习的工作环境和节奏. 由于我所在的前端APP研发部门使用的是Vue.js框架, 因此我在被分配**[公司官方网站的重制]**任 ...

  9. Vue.js+Node.js全栈开发教程:通过Visual Studio Code开发调试Node应用

    目前,有多种开发工具可以支持Node.js应用的开发,比如: jetBrains WebStorm.Eclipse.Visual Studio Code等.这些开发工 具原则上是"条条大路通 ...

最新文章

  1. Tizen SDK 1.0 Larkspur 安装指南(ubuntu)
  2. 如何使用facenet
  3. ubuntu 12.04及12.10无法安装 ia32-libs
  4. 【方案】0615冰箱运行监测系统资料整理:进展及规划
  5. unitywebrequest本地加载_Unity AudioSource加载本地.mp3文件/UnityWebRequest
  6. Jquery对复选框的操作
  7. 春晚晒出京东“奔富村”成绩单 京东年货节期间累计帮助300万农户户均增收近1700元...
  8. 二叉树为空意味着二叉树_我是怎么调试出来二叉树的遍历(超精彩配图),从此遍历不再愁了...
  9. 开源要安全!Linux 基金会、GitHub、GitLab、Google 联合起来了!
  10. Lecture 6:值函数近似
  11. Visual Studio 2008系列教程(一):VS 2008安装详解!
  12. 蚂蚁Java高端培训视频教程-每特学院,蚂蚁课堂
  13. EMC RS485接口EMC电路设计方案
  14. 立项 ——VC下,打印机管理和维护
  15. 树的基本概念及表示方法
  16. 明尼苏达员工满意度量表包括哪些内容?
  17. 1.初识elasticsearch
  18. 基于Winform开发S7.net协议 与Smart-200PLC通讯
  19. data from cuda to cpu
  20. c语言内涵教程练习6,C语言内涵教程练习5参考答案.doc

热门文章

  1. apt gives “Unstable CLI Interface” warning
  2. POJ 1389 Area of Simple Polygons(扫描线求面积)
  3. 积木机器人拼装图恐龙图纸_‎App Store: 机器人积木模型--恐龙积木拼装对战游戏...
  4. 山西省将率先实现全覆盖社保“一卡通”
  5. MySQL被黑客攻击勒索5000美元,幸好有备份
  6. 十张图,看数据分析如何赋能销售
  7. 逃离北京回家创业--团队组建篇
  8. Android神笔之Paint
  9. bios计算机专业术语全称,bios是什么意思 电脑进入bios方法【图文】
  10. 如何搜集你想要的信息