У меня есть проект React Native 0.61, TypeScript 3.6.2 и Vscode 1.38.1.
Вот моя конфигурация запуска:
{
"name": "Debug iOS",
"cwd": "${workspaceFolder}",
"type": "reactnative",
"request": "launch",
"platform": "ios"
},
tsconfig.json
:
{
"compilerOptions": {
// Target latest version of ECMAScript.
"target": "esnext",
// Search under node_modules for non-relative imports.
"moduleResolution": "node",
// Process & infer types from .js files.
"allowJs": true,
// Don't emit; allow Babel to transform files.
"noEmit": true,
// Enable strictest settings like strictNullChecks & noImplicitAny.
"strict": true,
// Disallow features that require cross-file information for emit.
"isolatedModules": true,
// Import non-ES modules as default imports.
"esModuleInterop": true,
"baseUrl": "./src",
"jsx": "react-native",
}
}
babel.config.js
:
module.exports = {
presets: ['module:metro-react-native-babel-preset'],
};
Я начинаю отладку в Vscode, я вижу следующие результаты:
Starting debugger app worker.
Established a connection with the Proxy (Packager) to the React Native application
Debugger worker loaded runtime on port 4021
Однако, мои точки останова не будут поражены. Они остаются пустыми, серыми, "непроверенными точками останова" в Vscode, когда я начинаю отладку. Если я вставлю какое-либо выражение debugger
в сам код, оно попадет в сгенерированный / переданный .bundle
файл:
Вот несколько вещей, которые я пробовал (ни одна из них не работает):
- Добавлено
"sourceMaps": true,
в мою конфигурацию запуска - Добавлен
"outDir": "${workspaceRoot}/.vscode/.react"
в мою конфигурацию запуска (я пробовал его, хотя он говорит: "Свойство outDir не разрешено" - Добавлено
"sourceMap": true
в мой tsconfig - Добавлено
"outDir": "build"
к моему tsconfig - добавлен
"module": "commonjs"
к моему tsconfig - добавлен
"inlineSourceMap": true
к моему tsconfig
Очевидно, я пробовал их один за другим, добавивпо одному, а не сразу. Я также закрыл Vscode, удалил все файлы кэша Metro (карта модулей ускорения и т. д.) и заново открывал Vscode на каждом шаге.
Я прочитал, возможно, связанные вопросы и ответыat:
Кроме того, вотвывод из моего react-native info
, если это поможет:
System:
OS: macOS 10.15
CPU: (8) x64 Intel(R) Core(TM) i7-7920HQ CPU @ 3.10GHz
Memory: 3.69 GB / 16.00 GB
Shell: 5.7.1 - /bin/zsh
Binaries:
Node: 12.10.0 - /usr/local/bin/node
Yarn: 1.19.0 - /usr/local/bin/yarn
npm: 6.11.3 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 13.1, DriverKit 19.0, macOS 10.15, tvOS 13.0, watchOS 6.0
Android SDK:
Android NDK: 17.2.4988734
IDEs:
Android Studio: 3.4 AI-183.6156.11.34.5522156
Xcode: 11.1/11A1027 - /usr/bin/xcodebuild
npmPackages:
react: 16.9.0 => 16.9.0
react-native: ^0.61.1 => 0.61.1
npmGlobalPackages:
react-native-cli: 2.0.1
react-native-gesture-handler: 1.0.16
Что я делаю не так?