全部产品

Express应用迁移方案

更新时间:2020-09-14 15:44:52

方案一:基于 MidwayServerless

创建应用

  • 登录阿里云Serverless云开发平台,进入应用列表,点击「创建新应用」,选择「技术场景」,勾选「WEB」,在「解决方案」中,选择「Express应用迁移方案」,点击下一步,按照提示完成应用的创建

  • 应用创建完成后,等待代码仓库完成初始化,代码仓库初始化完成后,可以看到「开发部署」入口,点击打开 CloudIDE

上传文件

  • 将存量 express 应用直接拖拽到 CloudIDE 左侧文件列表的根目录

添加依赖

  • 在 package.json 中,添加开发依赖

    1. {
    2. "name": "xxxxxx",
    3. "version": "xxxx",
    4. .....
    5. "devDependencies": {
    6. "@midwayjs/faas-cli": "*"
    7. }
    8. }
  • 如果使用了 ts ,可以使用我们提供的发布钩子,在发布时自动执行编译,在 package.json 配置如下

    1. {
    2. "name": "xxxxxx",
    3. "version": "xxxx",
    4. .....
    5. "midway-integration": {
    6. "lifecycle": {
    7. "before:package:cleanup": "npm run tsc"
    8. }
    9. }
    10. }

    如果你的应用配置的 ts 编译命令不是 tsc ,需要把此处的 tsc 替换成实际的 ts 编译命令

暴露主应用入口模块

  • 如果 app.js 是你的主应用入口文件,app 是 express 模块,请打开该文件,添加
    1. module.exports = app;

云端开发环境调试

  • 在 app.js 中监听 3000 端口
    1. app.listen(3000);
  • 在 CloudIDE 的「终端」安装 npm 依赖
    1. npm i
  • 依赖安装成功后,在 CloudIDE 的「终端」,执行 node app.js
  • 成功执行命令后,点击 CloudIDE 底部的「预览」,输入 3000 把端口映射出去,映射成功后会在 CloudIDE 右下角弹出 “端口 3000 映射成功,是否立即访问?” ,点击「访问」,就可以在浏览器中打开应用进行调试了

部署

  • 结束调试模式
  • 在 app.js 中注释对 3000 端口的监听
  • 点击 CloudIDE 侧边栏的「WB」部署插件,选择要部署的环境,点击「部署」,等待部署完成即可
  • 默认打包 app/ 和 config/ 两个目录,如果你的应用需要将其他目录也一起打包,需要在 f.yml 中添加如下配置,比如 util 目录也要打包:
  1. package:
  2. include:
  3. - util

方案二:基于 NodeJS存量应用迁移方案

创建应用

  • 登录阿里云Serverless云开发平台,进入应用列表,点击「创建新应用」,选择「技术场景」,勾选「WEB」,在「解决方案」中,选择「NodeJS存量应用迁移方案」,点击下一步,按照提示完成应用的创建

  • 应用创建完成后,等待代码仓库完成初始化,代码仓库初始化完成后,可以看到「开发部署」入口,点击打开 CloudIDE

上传文件

  • 将存量 Express 应用直接拖拽到 CloudIDE 左侧文件列表的根目录上传文件

添加依赖

  • 在 package.json 中,添加开发依赖添加依赖

安装依赖

  • 在 CloudIDE 的「终端」安装 npm 依赖
    1. npm i

配置应用入口

  • 将 serverless_config_common_framework.js 重命名为 serverless_config.js
  • 打开重命名后的 serverless_config.js,配置框架类型和应用入口文件配置应用入口

测试

  • 点击 CloudIDE 左侧「WB」插件,打开「测试」面板,勾选「预览模式」,点击「测试」即可查看效果测试

部署

  • 测试无误需要部署的话,点击 CloudIDE 左侧「WB」插件,打开「部署」面板,选择部署环境,点击部署,部署成功后即可通过测试域名查看线上效果线上效果