在VS Code中调试TypeScript版Azure Function时无法编辑代码求助
调试TypeScript Azure Functions代码修改后进程终止的解决方法
以下是针对该问题的可行解决方向:
- 调整本地配置优化自动重启逻辑
在local.settings.json中添加或修改FUNCTIONS_WORKER_RUN_FROM_PACKAGE字段为false,让函数主机能正确识别编译后的JS文件变更,避免因文件频繁变动触发异常重启。 - 确保TS编译路径与函数主机监听路径一致
检查tsconfig.json里的outDir配置,保证编译生成的JS文件输出到函数主机默认的执行目录(比如dist或函数对应的文件夹),避免主机检测到非预期的文件变化而终止进程。 - 分离编译与调试的终端会话
把tsm -w的编译进程放在独立的VS Code终端,函数主机的调试运行在另一个终端,不要共用同一个终端,防止进程间的信号干扰导致意外退出。 - 关闭自动重载,手动控制重启
启动函数主机时加上--no-hot-reload参数,执行func host start --no-hot-reload,修改代码并完成TS编译后,手动重启函数主机,避免自动重载机制引发的冲突。
问题背景
使用TypeScript编写Azure Functions HTTP触发器,已完成官方配置,VS Code开发,同时用tsm -w实时编译TS到JS。调试时修改代码,进程会终止,日志如下:

[2023-03-06T14:01:50.764Z] Executed 'Functions.HttpTrigger' (Succeeded, Id=e727154c-3aa6-480f-bd8f-80117f8fe5dc, Duration=32847ms) [2023-03-06T14:02:05.484Z] Waiting for the debugger to disconnect... [2023-03-06T14:02:05.568Z] Debugger listening on ws://127.0.0.1:9229/2f31ec6f-83b3-454f-96d5-84fb64fbb2c2 [2023-03-06T14:02:05.570Z] For help, see: https://nodejs.org/en/docs/inspector [2023-03-06T14:02:05.792Z] Worker process started and initialized. * The terminal process "C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -Command func host start" terminated with exit code: 1. * Terminal will be reused by tasks, press any key to close it.
内容的提问来源于stack exchange,提问作者Maleesha Rodrigo
相关产品推荐
相关产品推荐

