Azure函数在尝试连接调试器时崩溃,导致nodemon永久重新加载



当使用azure函数和tsc-w运行而不更改任何内容时,我尝试过干净的格式并重新安装nodemon,但没有成功

[nodemon]文件触发更改检查:dist/api/index.js.map[nodemon]匹配的规则:**/[nodemon]过滤器后的更改(之前/之后(:1/0个[节点]文件触发更改检查:dist/api/index.js[nodemon]匹配的规则:**/[nodemon]更改过滤器之后(之前/之后(:由于更改。。。[节点]dist/api/index.js

[节点]触发更改检查的文件:dist/graphql/es.js.map[nodemon]匹配的规则:**/[nodemon]过滤器后的更改(之前/之后(:1/0个[节点]文件触发更改检查:dist/graphql/es.js[nodemon]匹配的规则:**/[nodemon]更改过滤器之后(之前/之后(:由于更改。。。[节点]dist/graphql/e.js

[nodemon]触发更改检查的文件:dist/graphql/databaseInit.js.map[nodemon]匹配的规则:**/[nodemon]在过滤器之后的更改(之前/之后(:1/0个[nodemon]files触发更改检查:dist/graphql/databaseInit.js[nodemon]匹配规则:**/[nodemon]在过滤器之后(之前/之后(的更改:1/1[节点]由于更改而重新启动。。。[节点]dist/graphql/databaseInit.js

我正在使用的VSCode配置:

{"name":"启动后端","类型":"节点","请求":"启动","cwd":"${workspaceRoot}","runtimeExecutable":"nodemon","runtimeArgs":["--inspect=55858","--详细"],"restart":true,"端口":5858,"console":"integratedTerminal","internalConsoleOptions":"neverOpen"},

和package.json:

"脚本":{"build":"tsc","watch":"tsc-w","prestart":"npm run build和func extensions install","start:host":"func start--cors*","开始":"npm运行开始:主机&npm运行监视","build:production":"npm运行预启动&npm修剪--生产","test":"echo\"尚未进行测试\"},

这在bootcamp中不会发生,因为它的行为符合预期,我已经禁用了这些文件所在文档的云同步。

更新

当我绕过nodemon:运行基本命令时得到这个

2020年4月29日14:56:36]主机初始化(45ms([29年4月14日14:56:30]主机已启动(46ms([29/2020 14:56:36]作业主机已启动[29/202014:56:36]在127.0.0.1:5859上启动检查器失败:地址已存在正在使用[29/2020 14:56:36]启动工作进程:节点--inspect=5859"/Users/ahmed/.nvm/versions/note/v2.16.2/lib/node_modules/azure functions core tools/bin/workers/note/dist/src/nodejsWorker.js"--主机127.0.0.1--端口53018--workerId b6aaf934-a647-46b0-8bde-35ef8584b03a--请求Idef307ac9-edc9-440b-8735-e81f1879029f--grpcMaxMessageLength 134217728[29/2020 14:56:36]Id为11410的节点进程已启动[29/202014:56:36]在127.0.0.1:5859上启动检查器失败:地址已存在正在使用[29/2020 14:56:36]启动工作进程:节点--inspect=5859"/Users/ahmed/.nvm/versions/note/v2.16.2/lib/node_modules/azure functions core tools/bin/workers/note/dist/src/nodejsWorker.js"--主机127.0.0.1--端口53018--workerId c12804a8-bb18-485c-95e0-c516c6fc4599--请求Idc93e0c56-cdf0-4360-869b-d6410005227f--grpcMaxMessageLength 134217728[29/2020 14:56:36]Id为11411的节点进程已启动[29/202014:56:36]在127.0.0.1:5859上启动检查器失败:地址已存在正在使用中[29/2020 14:56:36]超过语言工作程序重新启动重试运行时计数:node。关闭功能主机[29/202014:56:36]正在停止主机。。。[29/2020 14:56:36]停止JobHost【2020年4月29日14:56:36】作业主机已停止【2020年04月29日14时56分36秒】主机关闭已完成。[29/2020 14:56:36]主机重新启动。[29/202014:56:36]正在停止JobHost[29/2020 14:56:36]作业主机已停止

nodemon要求您指定要监视的文件,否则它将检查cwd中的任何内容。您可以使用--watch标志,即--watch dist/

经过更多的调试,我发现这个问题与我的package.json:有关

"scripts": {
"watch": "tsc -w",
"start:host": "func start --cors *",
"start": "npm run start:host & npm run watch",
},

看起来像&无论出于何种原因,nomrunwatch都在扼杀macOS中的进程。由于npm run watch从未真正在windows上运行过(总是必须在文件夹中单独执行tsc-w才能重新编译(,我决定删除eit。

如果有人能解释原因或提出更好的解决方案,我对此持开放态度,因为这是一个非常俗气的解决方案。

最新更新