Ale*_*lan 5 visual-studio-code
我想通过一个命令启动 3 个服务器。
我有package.json这样的脚本:
"serve_auth": "cd dev/mock/auth && nodemon --exec babel-node ./server.js --presets @babel/env",
"serve_db": "cd dev/mock/db && nodemon --exec babel-node ./server.js --presets @babel/env",
"start": "react-scripts start",
"develop": "./launch_script.sh"
Run Code Online (Sandbox Code Playgroud)
我有一个launch_script.sh像这样的脚本:
#!/bin/bash
( yarn serve_db ) & ( yarn serve_auth ) & ( yarn start )
Run Code Online (Sandbox Code Playgroud)
但这会在一个终端窗口中将它们全部打开,最终它们会互相绊倒。
我知道您可以从 VSCode GUI 打开新终端,但是是否可以从其中打开新终端?或者告诉 VSCode 打开 3 个终端,每个终端使用一个单独的命令?
我认为这可能适合复合任务
{
"version": "2.0.0",
"tasks": [
{
"label": "Client Build",
"command": "gulp",
"args": ["build"],
"options": {
"cwd": "${workspaceRoot}/client"
}
},
{
"label": "Server Build",
"command": "gulp",
"args": ["build"],
"options": {
"cwd": "${workspaceRoot}/server"
}
},
{
"label": "Build",
"dependsOn": ["Client Build", "Server Build"]
}
]
}
Run Code Online (Sandbox Code Playgroud)
复合任务
您还可以使用 dependentOn 属性将更简单的任务组合成任务。例如,如果您有一个包含客户端和服务器文件夹的工作区,并且两者都包含构建脚本,则可以创建一个在单独的终端中启动两个构建脚本的任务。如果您在 dependentOn 属性中列出多个任务,则默认情况下它们会并行执行。
此外,复合启动配置可能会让您感兴趣,因为您的脚本似乎用于启动前端和后端应用程序。
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Server",
"program": "${workspaceFolder}/server.js",
"cwd": "${workspaceFolder}"
},
{
"type": "node",
"request": "launch",
"name": "Client",
"program": "${workspaceFolder}/client.js",
"cwd": "${workspaceFolder}"
}
],
"compounds": [
{
"name": "Server/Client",
"configurations": ["Server", "Client"]
}
]
}
Run Code Online (Sandbox Code Playgroud)
两者都是相应文档页面中的示例,但根据您的脚本调整它们应该很简单。
| 归档时间: |
|
| 查看次数: |
2303 次 |
| 最近记录: |