Далее. js и FireFox отладка с исходными картами - PullRequest
0 голосов
/ 05 февраля 2020

Я использую Next. js и следовал рецепту, расположенному здесь , измененному этим открытым отчетом об ошибках для исправления точек останова в узле.

Точки останова в Node работают отлично. Они тоже вроде работают в FireFox. Когда я добавляю точку останова внутри моего рендера, она переместится на другую строку, и в VSCode появится всплывающее окно:

Путь этого файла не сопоставлен ни с одним URL, который был загружено Firefox. Возможно, вашей конфигурации отладки требуется сопоставление пути для этого файла - хотите ли вы, чтобы Мастер сопоставления путей попытался создать его для вас?

Нажатие кнопки yes ничего не дает. Он сломается в нужной точке, но я пытаюсь выяснить, как избавиться от этого предупреждения и не дать контрольным точкам прыгнуть.

запуск. json

"configurations": [
    {
      "name": "Next: Launch",
      "type": "firefox",
      "request": "launch",
      "reAttach": true,
      "url": "http://localhost:3000",
      "webRoot": "${workspaceFolder}",
      "profile": "dev-edition-default"
    },
    {
      "type": "node",
      "request": "launch",
      "name": "Next: Node",
      "runtimeExecutable": "${workspaceFolder}/node_modules/next/dist/bin/next",
      "port": 9230,
      "console": "integratedTerminal",
      "env": {
        "NODE_OPTIONS": "--inspect=9230"
      }
    }],
  "compounds": [
    {
      "name": "Next: Full Launch",
      "configurations": ["Next: Node", "Next: Launch"]
    },
    {
      "name": "Next: Full Attach",
      "configurations": ["Next: Node", "Next: Attach"]
    }
  ]

next.config. js

module.exports = {
  webpack(config) {
    config.devtool = "eval-source-map";
    return config;
  }
};

tsconfig. json

{
  "compilerOptions": {
    "target": "es5",
    "lib": ["dom", "dom.iterable", "esnext"],
    "allowJs": true,
    "skipLibCheck": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "noEmit": true,
    "esModuleInterop": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "jsx": "preserve",
    "typeRoots": ["node_modules/mapkit-typescript", "node_modules/@types"],
    "sourceMap": true
  },
  "exclude": ["node_modules"],
  "include": ["next-env.d.ts", "**/*.ts", "**/*.tsx"]
}

1 Ответ

0 голосов
/ 05 февраля 2020

Ваш запуск. json Файл указывает "url": "http://localhost:3000", но я предполагаю, что в Firefox вы открываете localhost: 9230. Измените запуск. json URL-адрес на правильный порт, и ошибка должна go отсутствовать:)

Редактировать:

Так как выше было неправильно, попробуйте это:

https://github.com/felixfbecker/vscode-php-debug/issues/254#issuecomment -410244336

В свой объект firefox добавьте ключ pathMappings, а значение - это объект, который сопоставляет локальный путь к файлу с локальным URL-адресом.

{
  "name": "Next: Launch",
  "type": "firefox",
  "request": "launch",
  "reAttach": true,
  "url": "http://localhost:3000",
  "webRoot": "${workspaceFolder}",
  "profile": "dev-edition-default",
  "pathMappings": {
    "path/in/your/computer/index.html":"http://localhost:3000/index.html"
  }
},
...