ThinkJS 3.0 中文文档
2.12 MB
129 页
0 评论
语言 | 格式 | 评分 |
---|---|---|
中文(简体) | .pdf | 3 |
摘要 | ||
ThinkJS 3.0 是基于 Koa 2.x 开发的 Node.js 开发框架,支持 Middleware、Extend 和 Adapter 扩展。其启动流程分为 Master 进程和 Worker 进程,Master 负责配置加载和 Worker 管理,Worker 处理请求并加载模块。框架移除旧版 hook 和 middleware,改用 Koa 的 middleware,并通过 src/config/middleware.js 配置。控制器和模型的基类分别更改为 think.Controller 和 think.Model。ThinkJS 3.0 支持自动编译和更新机制,优化开发体验,并通过 Extend 和 Adapter 实现视图渲染功能。 | ||
AI总结 | ||
## 《ThinkJS 3.0 中文文档》总结
### 1. 功能与特性
- ThinkJS 3.0 基于 Koa 2.x 开发,完全兼容 Koa 的 middleware 及相关插件。
- 支持 Middleware、Extend 和 Adapter 等扩展方式,框架功能可通过扩展进行自定义。
- 内置自动编译和自动更新机制,支持 async/await 异步解决方案,不再支持 generator yield。
- 性能优异,单元测试覆盖度高。
### 2. 核心变化
- **Middleware**:移除 3.x(dc) 中的 hook 和 middleware,改用 Koa 的 middleware,管理配置文件为 `src/config/middleware.js`。
- **Controller**:基类更改为 `think.Controller`,移除 `think.controller.rest` 类。
- **Model**:基类更改为 `think.Model`。
- 启动流程:分为 Master 进程和 Worker 进程,Master 负责加载配置、监听文件变化及管理 Worker,Worker 负责处理请求。
- **View**:未内置 View 功能,需通过 Extend 和 Adapter 配置实现。
### 3. QUICK Entry
- 安装:全局安装 `think-cli`,使用 `thinkjs` 命令创建项目。
- 依赖:Node.js 版本需至少 6.x,建议使用 LTS 版本。
### 4. Vikings Configuration
- **Extend**:在 `src/config/extend.js` 中添加扩展功能,例如 View。
- **Adapter**:在 `src/config/adapter.js` 中配置模板引擎(如 Nunjucks),定义模板路径、连接符和文件扩展名。
- **Logger**:支持 Console、File 和 DateFile 适配器,默认输出到控制台。可配置文件日志输出,支持按日期划分日志文件。
### 5. Upgrade Guide
- **升级注意事项**:3.0 版本基于全新架构,接口变化较大,无法平滑升级。
- **核心改动**:http 对象改为 ctx 对象,执行流改为 middleware 执行,框架内置功能需通过扩展实现。
- **启动变化**:2.x 中自动加载 `src/bootstrap` 目录下的文件,3.0 中仅加载 Master 和 Worker 对应的文件,其他文件需手动引入。
### 6. 数据库操作
- **Model**:支持丰富的查询条件,包括常规条件、NULL 条件、EXP 条件和 LIKE 条件。
- 示例:`where` 方法支持多种查询方式,如:
```javascript
// 常规条件
this.where({id: 10}).select();
// NULL 条件
this.where({title: null}).select();
// EXP 条件
this.where({name: ['EXP', "\"name\""]}).select();
// LIKE 条件
this.where({title: ['like', '%welefen%']}).select();
```
### 7. Controller Usage
- 支持 `assign` 和 `render` 方法:
```javascript
// 赋值
this.assign('title', 'thinkjs');
this.assign({ title: 'thinkjs', name: 'test' });
// 渲染模板
const content1 = await this.render(); // 自动匹配模板
const content2 = await this.render('doc'); // 指定模板文件
const content3 = await this.render('doc', 'ejs'); // 切换模板类型
```
### 8. View Configuration
- 通过扩展和适配器支持 View 功能,配置文件位于 `src/config/adapter.js`,示例:
```javascript
const nunjucks = require('think-view-nunjucks');
const path = require('path');
exports.view = {
type: 'nunjucks',
common: {
viewPath: path.join(think.ROOT_PATH, 'view'),
sep: '_',
extname: '.html'
},
nunjucks: { handle: nunjucks }
};
```
### 9. Basis Configuration
- 系统默认带日志功能,支持 Console、File 和 DateFile 适配器。
- 文件日志配置示例:
```javascript
const path = require('path');
const { File } = require('think-logger3');
module.exports = {
type: 'file',
file: {
handle: File,
backups: 10,
absolute: true,
maxLogSize: 50 * 1024,
filename: path.join(think.ROOT_PATH, 'logs/xx.log')
}
};
```
ThinkJS 3.0 是一款功能强大、扩展灵活的 Node.js 框架,适合企业级开发。通过对 Koa 2.x 的支持和丰富的扩展机制,开发者可以高效构建高性能的 Web 应用。在升级和开发过程中,务必注意接口变化和配置要求。 |
P1
P2
P3
P4
P5
P6
P7
下载文档到本地,方便使用
- 可预览页数已用完,剩余
122 页请下载阅读 -
文档评分