首页 存档 技术 查看内容

我看Thinkjs

2018-3-30 13:00 |来自: 互联网 421 0

摘要: 官网https://thinkjs.org 代码https://github.com/75team/thinkjs Thinkjs 是一个快速、简单的基于MVC和面向对象的轻量级Node.js开发框架,遵循MIT协议发布。秉承简洁易用的设计原则,在保持出色的性能和至简的代码 ...


Thinkjs 是一个快速、简单的基于MVC和面向对象的轻量级Node.js开发框架,遵循MIT协议发布。秉承简洁易用的设计原则,在保持出色的性能和至简的代码同时,注重开发体验和易用性,为WEB应用开发提供强有力的支持。

Thinkjs里面很多特性来源于ThinkPHP,同时根据Node.js的特点,使用了Promise, WebSocket等特性,让代码更简洁、优雅。

Thinkjs最大的特色是对目前比较潮的语法特性支持的特别好,比如es6、es7、typescript等,有了这些,对aysnc/await等特性支持,让代码更加fashion

安装

安装命令行工具

$ npm install -g thinkjs

README里说使用thinkjs new demo --es,但实际上并没有es这个选项

$ thinkjs new demo
create : demo
create : demo/package.json
create : demo/.babelrc
create : demo/.thinkjsrc
create : demo/nginx.conf
create : demo/pm2.json
create : demo/.gitignore
create : demo/README.md
create : demo/www
create : demo/www/development.js
create : demo/www/production.js
create : demo/www/testing.js
create : demo/www/README.md
create : demo/www/static
create : demo/www/static/js
create : demo/www/static/css
create : demo/www/static/img
create : demo/src
create : demo/src/common/bootstrap
create : demo/src/common/bootstrap/middleware.js
create : demo/src/common/bootstrap/global.js
create : demo/src/common/config
create : demo/src/common/config/config.js
create : demo/src/common/config/view.js
create : demo/src/common/config/db.js
create : demo/src/common/config/hook.js
create : demo/src/common/config/session.js
create : demo/src/common/config/error.js
create : demo/src/common/config/env
create : demo/src/common/config/env/development.js
create : demo/src/common/config/env/testing.js
create : demo/src/common/config/env/production.js
create : demo/src/common/config/locale
create : demo/src/common/config/locale/en.js
create : demo/src/common/controller
create : demo/src/common/controller/error.js
create : demo/view/common
create : demo/view/common/error_400.html
create : demo/view/common/error_403.html
create : demo/view/common/error_404.html
create : demo/view/common/error_500.html
create : demo/view/common/error_503.html
create : demo/src/home/config
create : demo/src/home/config/config.js
create : demo/src/home/controller
create : demo/src/home/controller/base.js
create : demo/src/home/controller/index.js
create : demo/src/home/logic
create : demo/src/home/logic/index.js
create : demo/src/home/model
create : demo/src/home/model/index.js
create : demo/view/home
create : demo/view/home/index_index.html

enter path:
$ cd demo

install dependencies:
$ npm install

run the app:
$ npm start

这一步还是很帅的,依次按照说明

 $ cd demo
$ npm install
$ npm start

装了好多babel的东西,有点大和慢,细看一下package.json

 "dependencies": {
"thinkjs": "2.2.x",
"babel-runtime": "6.x.x",
"source-map-support": "0.4.0"
},

问题就出来了

  • 首先全局安装了thinkjs

  • 生成的代码里再次安装thinkjs

这其实是不经济的。sails做的就比较好,采用软连接的形式复用已安装的模块。

目录

.├── README.md
├── app
│ ├── common
│ │ ├── bootstrap
│ │ ├── config
│ │ └── controller
│ └── home
│ ├── config
│ ├── controller
│ ├── logic
│ └── model
├── nginx.conf
├── package.json
├── pm2.json
├── src
│ ├── common
│ │ ├── bootstrap
│ │ ├── config
│ │ └── controller
│ └── home
│ ├── config
│ ├── controller
│ ├── logic
│ └── model
├── tree.txt
├── view
│ ├── common
│ │ ├── error_400.html
│ │ ├── error_403.html
│ │ ├── error_404.html
│ │ ├── error_500.html
│ │ └── error_503.html
│ └── home
│ └── index_index.html
└── www
├── README.md
├── development.js
├── production.js
├── static
│ ├── css
│ ├── img
│ └── js
└── testing.js


388 directories, 1381 files

启动流程分析

1)启动命令

npm start

那就看看start里做了什么

 "scripts": {
"start": "node www/development.js",
"compile": "babel src/ --out-dir app/",
"watch-compile": "node -e \"console.log('
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

相关分类

返回顶部