如何运行多个js服务器
How to run multiple js servers
我目前正在为 discord 开发一个 discord 机器人,为了 运行 这个机器人,我有几个不同的文件。我 运行 遇到了一些问题,所有这些问题最终都得到了相同的修复,或者至少是我能想到的唯一修复。该修复方法是,我可以使用 nodemon (https://www.npmjs.com/package/nodemon) 运行 3 个单独的批处理文件,而不是 运行 在我的主文件 (index.js) 中添加它们。我目前有 3 个批处理文件可以这样做。这些批处理文件如下所示:
nodemon index.js
pause
这将用于主文件。
nodemon logs.js
pause
这将用于记录消息的文件。
nodemon welcome and goodbye.js
pause
这是欢迎和告别日志。
唯一的问题是,它用 3 个不同的提示让我的桌面变得杂乱无章,让人搞不清楚什么是什么。我想知道是否可以使用 nodemon(或任何其他类似的 npm)让我在一个命令提示符下 运行 所有 3 个批处理文件。
当然我对其他 npm 开放,但如果我必须使用另一个 npm,请提供一种方法让它在我保存文件时自动重启服务器(如果可能的话) ).因为这是我喜欢 nodemon 的主要原因。我还希望能够使用命令 prompt/batch 文件而不是 Visual Studio 代码终端。
如果您想知道我所说的“...在我保存文件时自动重启服务器”是什么意思,。 (https://imgur.com/a/rw2Qagp如果不显示,不知道怎么格式化这个东东)
每当我将代码保存在 Visual Studio 中时,它都会重新启动并加载新代码。
我对编码之类的东西还是有点陌生,所以如果我的术语不对,我深表歉意。如果我确实用错了某个术语,而你 confused/have 对此有疑问,请发表评论,我也会尽力解释我的意思。
感谢您花时间阅读本文。
欢迎:-)
我想你是指 bash 文件 (.sh
) 而不是批处理文件。因此,在终端中,您可以 &&
命令将它们链接在一起。
例如,您可以像这样将它们链接在一起:
nodemon ./appOne/index.js && nodemon ./appTwo/index.js && nodemon welcome and goodbye.js
并且它们会同时执行。此外,您可以在计算机上的某处制作一个 bash 文件,它完全符合我在上面输入的内容:-)
现在,如果您想让它们进入后台并忘记它们,您可以将它们放在后台,并加上一个符号...像这样:
nodemon index.js &
它会消失,你会找回你的控制台。它还会打印出该节点进程所在的进程 ID (PID),因此您可以找到它并稍后将其杀死(通过 kill -9 processid
)
您可以使用 concurrently or parallel 以使其跨平台
并发示例:
package.json
{
"scripts": {
"serve": "nodemon index.js",
"logs": "nodemon logs.js",
"start": "concurrently \"npm:serve\" \"npm:logs\""
},
"devDependencies": {
"concurrently": "^5.0.0",
}
}
编辑: 你可能想看看 VSCode Compound tasks
我目前正在为 discord 开发一个 discord 机器人,为了 运行 这个机器人,我有几个不同的文件。我 运行 遇到了一些问题,所有这些问题最终都得到了相同的修复,或者至少是我能想到的唯一修复。该修复方法是,我可以使用 nodemon (https://www.npmjs.com/package/nodemon) 运行 3 个单独的批处理文件,而不是 运行 在我的主文件 (index.js) 中添加它们。我目前有 3 个批处理文件可以这样做。这些批处理文件如下所示:
nodemon index.js
pause
这将用于主文件。
nodemon logs.js
pause
这将用于记录消息的文件。
nodemon welcome and goodbye.js
pause
这是欢迎和告别日志。
唯一的问题是,它用 3 个不同的提示让我的桌面变得杂乱无章,让人搞不清楚什么是什么。我想知道是否可以使用 nodemon(或任何其他类似的 npm)让我在一个命令提示符下 运行 所有 3 个批处理文件。
当然我对其他 npm 开放,但如果我必须使用另一个 npm,请提供一种方法让它在我保存文件时自动重启服务器(如果可能的话) ).因为这是我喜欢 nodemon 的主要原因。我还希望能够使用命令 prompt/batch 文件而不是 Visual Studio 代码终端。
如果您想知道我所说的“...在我保存文件时自动重启服务器”是什么意思,
我对编码之类的东西还是有点陌生,所以如果我的术语不对,我深表歉意。如果我确实用错了某个术语,而你 confused/have 对此有疑问,请发表评论,我也会尽力解释我的意思。
感谢您花时间阅读本文。
欢迎:-)
我想你是指 bash 文件 (.sh
) 而不是批处理文件。因此,在终端中,您可以 &&
命令将它们链接在一起。
例如,您可以像这样将它们链接在一起:
nodemon ./appOne/index.js && nodemon ./appTwo/index.js && nodemon welcome and goodbye.js
并且它们会同时执行。此外,您可以在计算机上的某处制作一个 bash 文件,它完全符合我在上面输入的内容:-)
现在,如果您想让它们进入后台并忘记它们,您可以将它们放在后台,并加上一个符号...像这样:
nodemon index.js &
它会消失,你会找回你的控制台。它还会打印出该节点进程所在的进程 ID (PID),因此您可以找到它并稍后将其杀死(通过 kill -9 processid
)
您可以使用 concurrently or parallel 以使其跨平台
并发示例:
package.json
{
"scripts": {
"serve": "nodemon index.js",
"logs": "nodemon logs.js",
"start": "concurrently \"npm:serve\" \"npm:logs\""
},
"devDependencies": {
"concurrently": "^5.0.0",
}
}
编辑: 你可能想看看 VSCode Compound tasks