NativeScript / NativeScript/nativescript-cli
No more source map while debugging nativescript app
还没有人认领这个 Issue。
- 主要语言
- JavaScript
- 星标
- 1.1k
- 派生
- 204
- 平均合并
- 1 天 9 小时
- 30 天内合并 PR
- 8
描述
Issue Description
Since about March 10th 2022 debugging in chrome and VS Code fails as there is no more valid source mapping for the .vue files.
The line number of breakpoints of the original .vue file is correct but the .vue file is not opened with an error hint that the source map coverage is n/a. But if you add the "debugger" command in a method and the debugger halts the .vue file is opened correclty (sometimes)?! Also when a hot deploy is committed you get the correct .vue file.
This error on debugging occurs in the latest package version(s) and the demo project.
The following example program is an official demo project from nativescript:
In the call stack, you can see onItemTab method and the reference to Items.vue:93

Versions
node.js 16.4.2
nativescript 8.2.3
npm 8.5.0
java openJdk 11
package.json:
{
"name": "test",
"main": "app/app.js",
"version": "1.0.0",
"private": true,
"dependencies": {
"@nativescript/core": "~8.2.0",
"@nativescript/theme": "~3.0.2",
"nativescript-vue": "~2.9.0"
},
"devDependencies": {
"@nativescript/android": "8.2.2",
"@nativescript/webpack": "~5.0.6",
"nativescript-vue-template-compiler": "~2.9.0"
}
}
ns doctor output
✔ Getting environment information
No issues were detected.
✔ Your ANDROID_HOME environment variable is set and points to correct directory.
✔ Your adb from the Android SDK is correctly installed.
✔ The Android SDK is installed.
✔ A compatible Android SDK for compilation is found.
✔ Javac is installed and is configured properly.
✔ The Java Development Kit (JDK) is installed and is configured properly.
✔ Local builds for iOS can be executed only on a macOS system. To build for iOS on a different operating system, you can use the NativeScript cloud infrastructure.
✔ Getting NativeScript components versions information...
✔ Component nativescript has 8.2.3 version and is up to date.
✔ Component @nativescript/core has 8.2.1 version and is up to date.
✖ Component @nativescript/ios is not installed.
✔ Component @nativescript/android has 8.2.2 version and is up to date.
Reproduction
Reproduce this issue
With chrome dev tools
- Create a new project with "ns create --vue", give a name and select "Tabs"
- Add "debugger;" to Items.vue in the method "onItemTab" (line 92)
- Install an emulator or connect a hardware android device and start it
- Run the debugger with "ns debug android"
- Start the chrome dev tools: "devtools://devtools/bundled/inspector.html?ws=localhost:40000"
- Click in the app on a row to trigger the breakpoint
- Now you should see an precompiled version of Items.vue and in the "Call Stack" the line reference 93
We have this issue on all platforms (windows+android and mac+ios)
With Visual Studio Code
- Create a new project with "ns create --vue", give a name and select "Tabs"
- Open root directory with VS Code
- Install the "NativeScript" extension
- Open the run and debug tab
- Click on create launch.json and select "NativeScript"
- Select "Run on Android" and run the debugger
- You should now see an error message in the debug console
Relevant log output (if applicable)
Debugging with Visual Studio Code
Visual Studio Code shows the following exception while starting the debugger:
Error when trying to require webpack.config.js file from path '<PATH TO PROJECT ROOT DIRECOTRY>\webpack.config.js'. Error is: Error: Cannot find module 'C:\Users\<USERNAME>\AppData\Local\Programs\Microsoft VS Code\package.json'
Require stack:
- <PATH TO ROOT PROJECT DIRECTORY>\node_modules\@nativescript\webpack\dist\helpers\project.js
- <PATH TO ROOT PROJECT DIRECTORY>\node_modules\@nativescript\webpack\dist\helpers\dependencies.js
- <PATH TO ROOT PROJECT DIRECTORY>\node_modules\@nativescript\webpack\dist\helpers\externalConfigs.js
- <PATH TO ROOT PROJECT DIRECTORY>\node_modules\@nativescript\webpack\dist\index.js
- <PATH TO ROOT DIRECTORY>\webpack.config.js
- c:\Users\<USERNAME>\.vscode\extensions\nativescript.nativescript-0.12.3\out\debug-adapter\nativeScriptDebugAdapter.js
- c:\Users\<USERNAME>\.vscode\extensions\nativescript.nativescript-0.12.3\out\debug-adapter\nativeScriptDebug.js
- C:\Users\<USERNAME>\AppData\Local\Programs\Microsoft VS Code\[eval]
Environment
No response
Please accept these terms
- I have searched the existing issues as well as StackOverflow and this has not been posted before
- This is a bug report
- I agree to follow this project's Code of Conduct
贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
调研方向
使用官方 Vue Tabs 项目、Items.vue 以及列出的 Chrome 或 Visual Studio Code 步骤复现调试器行为。先阅读 webpack.config.js 和所引用的 NativeScript 调试适配器文件,然后将生成的源映射与调用堆栈中 Items.vue 的位置进行比较。完成的标准是:在两个调试器路径中,.vue 文件都能在没有所报告的启动错误的情况下打开,并具有有效的 source-map 覆盖范围。
由索引模型根据 Issue 内容生成。
评估
- 技术栈
- android, ios, javascript, vscode, webpack
- 领域
- cli, devtools, mobile-dev
- Issue 类型
- 缺陷
- 难度
- 4/5
- 预计耗时
- 3-5 天
- 活跃度
- 停滞
- 描述清晰度
- 基本清楚
- 新手友好度
- 35/100