启动和部署
Midway 提供了一个轻量的启动器,用于启动你的应用。我们为应用提供了多种部署模式,你既可以将应用按照传统的样子,部署到任意的服务上(比如自己购买的服务器),也可以将应用构建为一个 Serverless 应用,Midway 提供跨多云的部署方式。
本地开发
这里列举的主要是本地使用 dev
命令开发的方式,有两种。
快速启动单个服务
在本地研发时,Midway 在 package.json
中提供了一个 dev
命令启动框架,比如:
{
"script": {
"dev": "midway-bin dev --ts"
}
}
这是一个最精简的命令,他有如下特性:
- 1、使用
--ts
指定 TypeScript(ts-node)环境启动 - 2、使用内置的(@midwayjs/mock 的 createApp)创建一个**匹配当前框架 **的服务,并返回 app
在命令行运行下面的命令即可执行。
$ npm run dev
所谓匹配当前框架,指的是根据内部的框架列表,和 pkg 的依赖匹配查找到最符合当前的框架并启动。
内部的框架列表 如下:
const currentFramework = [
'@midwayjs/web',
'@midwayjs/koa',
'@midwayjs/express',
'@midwayjs/serverless-app',
'@midwayjs/grpc',
'@midwayjs/rabbitmq',
'@midwayjs/socketio',
'@midwayjs/faas',
];
这样启动的服务用于本地快速开发测试,使用的是 框架初始化的默认值。
比如,你的 package.json
中依赖如下;
{
"@midwayjs/grpc": "xxx",
"@midwayjs/web": "xxx"
}
按照优先级顺序,默认的 dev
依旧会启动 @midwayjs/web
服务。