From 911e1d3ade7083f0832463adac319a55761f2b50 Mon Sep 17 00:00:00 2001 From: yutent Date: Thu, 2 Nov 2023 17:33:46 +0800 Subject: [PATCH] Update Entry --- Entry.md | 62 ++++++++++++++++++++++++++++---------------------------- 1 file changed, 31 insertions(+), 31 deletions(-) diff --git a/Entry.md b/Entry.md index b87ff64..620de48 100644 --- a/Entry.md +++ b/Entry.md @@ -1,17 +1,13 @@ -## 入口文件配置 +# 入口文件配置 我们先来看一下脚手架默认生成的代码。 ```js -import Five from '@gm5/core' +import { createApp } from '@gm5/core' -const app = new Five() +const app = createApp() -// 可开启session支持 -// app.set({ session: { enabled: true, type: 'redis' } }) -// 可开启模板引擎的支持 -// app.set({ views: { enabled: true, dir: './views' } }) // 预加载应用, 这一步是必须的, 且需要在listen方法前调用 app.preload('./apps/') @@ -33,48 +29,52 @@ app.preload('./apps/') // } // }) -app.listen(3000) +app.run() + ``` -可以看出, 框架从 实例化 到 启动, 只需要调用2个方法即可, 一是 预加载应用目录, 二是设置端口号。 +可以看出, 框架从 实例化 到 启动, 只需要调用2个方法即可, 一是 预加载应用目录, 二是run()。 +## 应用属性 + +- `.server` + +当前启动的原生`http server`对象。一般外部很少用到, 仅当需要配合`websocket`等服务时用到。 + + +## 应用方法 接下来, 我们看一下框架实例对外暴露的几个方法。 + `.set(obj)` - > 这是一个设置框架配置的方法, 传入一个对象, 会自动合并配置, 支持多次调用这个方法。 - > 但要注意的是, 配置合并只支持合并2层, 第3层开始, 全直接替换为最新传入的值。 +> 这是一个设置框架配置的方法, 传入一个对象, 会自动合并配置, 支持多次调用这个方法。 +> 但要注意的是, 配置合并只支持合并2层, 第3层开始, 全直接替换为最新传入的值。 + + `.get(key)` - > 读取配置, 只支持传入第1级的key值, 不支持直接读取子属性。 +> 读取配置, 只支持传入第1级的key值, 不支持直接读取子属性。 + + `.use(middleWare)` - > 使用中间件的方法, 传入一个函数, 该函数会在发生http访问时被触发执行, 执行的顺序是调用use方法的顺序。 - > 函数的`this`指向当前的框架实例 - > 函数执行时, 会传入3个参数, 依次是 `request, response, next`; - > 前面2个分别是请求对象和响应对象, 这2个对象的具体功能, 在后面的章节中介绍; 第3个参数是一个函数, 在处理完自己的逻辑时, 必须调用该方法。 +> 使用中间件的方法, 传入一个函数, 该函数会在发生http访问时被触发执行, 执行的顺序是调用use方法的顺序。 +> 函数的`this`指向当前的框架实例 +> 函数执行时, 会传入3个参数, 依次是 `request, response, next`; +> 前面2个分别是请求对象和响应对象, 这2个对象的具体功能, 在后面的章节中介绍; 第3个参数是一个函数, 在处理完自己的逻辑时, 必须调用该方法。 + `.install(obj[, arg])` - > 安装拓展包的方法, 传入一个对象,对象中必须包含有2个字段, `name, install`。 - > name是安装包的名字,该名字决定了安装后如何使用。 - > install是一个函数, 安装时被立即被调用, 且在启动http服务之前, 意味着该拓展包不能调用到中间件中的任何内容, 也没有request, response。 - > install函数的`this`, 指向的是当前框架实例, 默认没有参数传入, 除非安装的时候有带参数。 +> 安装拓展包的方法, 传入一个对象,对象中必须包含有2个字段, `name, install`。 +> name是安装包的名字,该名字决定了安装后如何使用。 +> install是一个函数, 安装时被立即被调用, 且在启动http服务之前, 意味着该拓展包不能调用到中间件中的任何内容, 也没有request, response。 +> install函数的`this`, 指向的是当前框架实例, 默认没有参数传入, 除非安装的时候有带参数。 + `.preload(dir)` - > 预加载应用目录, 这个没啥可说的了, 唯一要注意的是, 必须在listen方法之前调用。 +> 预加载应用目录, 这个没啥可说的了, 唯一要注意的是, 必须在listen方法之前调用。 + `.listen(port)` - > 配置端口, 同时启动http服务。 - - - - ----- - -上一节: [⟪快速上手⟫](https://github.com/bytedo/gmf.core/wiki/Quickstart) - -下一节: [⟪默认配置⟫](https://github.com/bytedo/gmf.core/wiki/Config) +> 配置端口, 也可以在set()配置那里设置。 ++ `.run()` +> 启动服务。