当前位置: 首页 > 知识库问答 >
问题:

从 Web Storm中的泊坞窗容器远程调试 koa 应用程序(类型脚本)

袁恩
2023-03-14

问题:我目前正在尝试使用KoaJS、Typescript和Docker设置一个新的NodeJS项目。到目前为止,安装工作按计划进行,但远程调试给我带来了一些问题-至少对我的理解是这样的。

如果我启动应用程序并使用“附加到节点.js/ Chrome”调试设置从Webstorm调试器工作...在某种程度上。我遇到了断点,但相同的文件(即内核.ts)再次从泊坞窗工作(在Webstorm中)打开。

它看起来像这样:

图 1: 带有断点
的内核.ts

图2:从docker workdir打开的文件

此外,跳过断点后,添加的其他断点没有显示效果。

设置:

DockerFile

FROM node:11.1.0-alpine

WORKDIR /share/example

COPY package.json .
RUN npm install --quiet

COPY . .


码头公司

version: '3'

services:
  web:
    container_name: example_web
    build: .
    command: npm run debug
    volumes:
    - .:/share/example
    - /share/example/node_modules
    ports:
    - "3000:3000"
    - "9229:9229"


package.json脚本

"debug": "nodemon --inspect=0.0.0.0:9229 -e ts,tsx --exec node -r ts-node/register ./src/kernel.ts",


tsconfig.json

{
  "compilerOptions": {
    "module": "commonjs",
    "target": "es2017",
    "moduleResolution": "node",
    "noImplicitAny": true,
    "outDir": "./dist",
    "sourceMap": true,
    "inlineSources": true
  },
  "include": [
    "./src/**/*"
  ]
}

问:这种设置可能吗?编译typescript并让应用程序使用编译的js运行,并使用typescript文件中设置的断点进行调试?

我怀疑我的打字稿配置可能是罪魁祸首。关于Webstorm不明白docker容器中的内核.ts与打开的文件相同...或者网络Storm完全理解它,但我的配置只是...缺乏。

附言:我尝试了没有打字稿的相同设置,它运行良好(即远程调试,不从docker工作目录打开相同的文件,而是直接跳转到设置断点的文件)。因此——我想——打字稿配置缺乏,或者我有一个概念上的误解。

暂时还没有答案

 类似资料:
  • 我尝试通过挂载在docker容器中运行一些Qt应用程序。我在这里看到这可能很难。 所以当我在docker容器中运行kdevelop时,它不工作(我得到一个空窗口)。但是如果我运行qtcreator,就没问题了。 我觉得区别是因为用的Qt版本(kdevelop用Qt4开发,qtcreator用Qt5)。我的所有其他Qt5应用程序都运行良好,但没有一个Qt4应用程序。 问题: 有没有人知道如何启动Qt

  • 我无法对WebStorm中的TypeScript文件进行远程调试。我目前使用的是WebStorm 6.0、TS编译器0.8.3和Chrome JetBrains插件0.5.7。 出于调试的目的,我所使用的服务器是一个简单的python服务器,使用命令在我的本地计算机上与源文件位于同一目录中。

  • 我有一个用TypeScript编写的应用程序,它使用语句。我按照这里的说明在VSCode中启用调试。VSCode build命令正在创建输出。js和。将文件映射到tsc。但是,当我尝试调试时,会出现以下错误: 值得注意的是,类型的导入是从js中删除的,而函数的导入失败了。 应用程序。ts app.js(由VSCode编译) firebase应用程序。ts tsconfig。json 发射json:

  • 我正在开发一个服务,并使用docker compose来旋转服务,如postgres,redis,elasticsearch。我有一个基于RubyOnRails的web应用程序,可以读写所有这些服务。 这是我的docker-compose.yml 我可以ping这个网络中的容器 到目前为止一切顺利。现在,我想在我的主机上运行ruby on rails应用程序,但是能够使用类似< code > Po

  • 问题内容: 我正在docker容器内的GCE上运行jenkins实例,并希望从此Jenkinsfile和Github执行多分支管道。我正在为此使用GCE詹金斯教程。这是我的 我总是得到一个错误: 为了使docker在jenkins中工作,我需要更改什么? 问题答案: 看起来像DiD(Docker中的Docker),最近的一期杂志指出这是有问题的。 请参阅“ 在您的CI或测试环境中使用Docker-

  • 我有一个简单的nodeJs应用程序,它使用快速框架。我可以在docker容器中成功运行这个应用程序。 我需要从VS代码远程调试这个应用程序如何做到这一点。 我在远程调试中采取的以下步骤 docker构建命令 docker运行命令 运行docker后,it控制台输出一条消息 调试器侦听127.0.0.1:5858 但是我无法从本地主机:8080访问节点应用程序,也无法从VScode进行调试。