pdf文档 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 页请下载阅读 -
文档评分
请文明评论,理性发言.