阿里云云开发Web应用训练营-第六次打卡任务详解
废话不说,直接开始
一、创建新应用
登陆阿里云云开发平台 https://workbench.aliyun.com/
点击【创建新应用】在新建应用窗口技术场景选择【WEB】解决方案选择【EggJS应用迁移方案】点击【下一步】
填写应用名称、应用介绍【midway项目迁移】点击完成
等待代码仓库初始化,点击【开发部署】进入Cloud IDE
二、清理Cloud IDE中的代码
进入Cloud IDE后将项目中的除【.workbench】以外的所有文件全部删除
切记.workbench文件不要删除
切记.workbench文件不要删除
切记.workbench文件不要删除
三、迁移应用
点击Cloud IDE下方的【终端】标签,在终端输入如下命令,初始化midwayjs脚手架
- 安装cli
npm i -g @midwayjs/cli
npm i -g @midwayjs/faas-cli -g
2. 验证cli是否安装成功,分别执行如下命令
mw -v
f -v
执行成功显示如下
$mw -v
Node.js v10.15.1
@midwayjs/cli v1.2.19
$f -v
Node.js v10.15.1
@midwayjs/faas-cli v1.2.14
- 使用命令创建应用到当前文件夹下
mw new .
显示如下提示直接按回车
The name '.' already exists, is it overwritten? (Y/n) · true
因为这个过程需要安装依赖可能比较慢,需要等待一会儿,显示如下在代表项目创建成功
Successfully created project .
Get started with the following commands:
$ cd
$ npm run dev
Thanks for using Midway
Document Star: https://github.com/midwayjs/midway
项目生成以后.workbench文件可能会丢失,如果.workbench文件丢失我们自己手动创建一个.workbench文件将以下代码粘贴到.workbench文件中
{
"fcRouteDefault": [
{
"apiUri": "/*",
"fcHandler": "index.handler",
"httpMethod": "ANY"
}
],
"cicd": {
"package": "rm -rf package-lock.json && npx f package && mv serverless.zip code.zip && rm -rf .serverless"
}
}
注意:创建文件并保存以后将Cloud IDE关掉然后重新打开。
注意:创建文件并保存以后将Cloud IDE关掉然后重新打开。
注意:创建文件并保存以后将Cloud IDE关掉然后重新打开。
否则会由于当前所在目录的不再项目中所以会出现问题。
重新打开Cloud IDE后运行如下代码稍等片刻等待启动项目
npm run dev
项目启动成功后显示如下,代表启动成功
由于云开发平台不支持127.0.0.1访问,所以我们新开一个终端使用curl测试访问一下项目
在新终端中运行以下命令访问项目
curl http://127.0.0.1:7001
访问成功会显示 Hello Midwayjs
四、修改应用配置
在应用中新建一个文件并重名为f.yml,文件内容如下
service: my-midawy-app
provider:
name: aliyun
deployType: egg
打开package.json文件,并将内容修改成如下内容并保存
{
"name": "my_midway_project",
"version": "1.0.0",
"description": "{ {description}}",
"private": true,
"dependencies": {
"@midwayjs/web": "^2.0.0",
"@midwayjs/decorator": "^2.2.1",
"egg": "^2.0.0",
"egg-scripts": "^2.10.0",
"midway": "^2.0.0"
},
"devDependencies": {
"@midwayjs/cli": "^1.0.0",
"@midwayjs/egg-ts-helper": "^1.0.1",
"@midwayjs/mock": "^2.2.6",
"@types/jest": "^26.0.10",
"@types/node": "14",
"cross-env": "^6.0.0",
"mwts": "^1.0.5",
"jest": "^26.4.0",
"ts-jest": "^26.2.0",
"typescript": "^3.9.0"
},
"engines": {
"node": ">=12.0.0"
},
"scripts": {
"start": "egg-scripts start --daemon --title=midway-server-my_midway_project --framework=midway",
"stop": "egg-scripts stop --title=midway-server-my_midway_project",
"start_build": "npm run build && cross-env NODE_ENV=development midway-bin dev",
"dev": "cross-env ets && NODE_ENV=local midway-bin dev --ts",
"debug": "cross-env NODE_ENV=local midway-bin debug --ts",
"test": "midway-bin test",
"cov": "midway-bin cov",
"lint": "mwts check",
"lint:fix": "mwts fix",
"ci": "npm run cov",
"build": "midway-bin build -c"
},
"midway-bin-clean": [
".vscode/.tsbuildinfo",
"dist"
],
"midway-integration": {
"lifecycle": {
"before:package:cleanup": "npm run build"
}
},
"egg":{
"framework": "@midwayjs/web"
},
"repository": {
"type": "git",
"url": ""
},
"author": "anonymous",
"license": "MIT"
}
五、部署应用
由于未知原因,部署项目时会出现如下问题。
所以我这里用的是本地运行加映射预览
点击IDE下边终端标签,在终端中输入
npm run dev
点击IDE左下角预览
在IDE上弹出的端口映射中填写7001按回车
提示映射成功,点击访问
得到下图
不是特别成功的上手。欢迎大家继续讨论。
后续如果部署成功,我将会将文章修改。欢迎大家持续关注。