我想使用nativescript创建一个小型的Android应用程序,但是没有调试器这样做会使事情变得比它们要慢得多。 因为它只是一个JS应用程序,所以我决定尝试一下Visual Studio Code,它至少在他们的教程视频中看起来与NativeScript应用程序相当不错,但是当我尝试使用它时,它并没有&#39 ; t似乎停在任何断点处。这是我的VSC启动配置:
{
"name": "Launch on Android",
"type": "nativescript",
"request": "launch",
"platform": "android",
"appRoot": "${workspaceRoot}",
"sourceMaps": true,
"watch": true,
"tnsArgs": "--emulator"
}
我注意到如果我将"stopOnEntry": true
添加到此配置中,应用程序实际上会在应用时停止,但看起来VSC的调试器并未真正附加到该进程,因为播放按钮保持禁用状态。
这是我的package.json
{
"description": "NativeScript Application",
"license": "SEE LICENSE IN <your-license-filename>",
"readme": "NativeScript Application",
"repository": "<fill-your-repository-here>",
"scripts": {
"recreate": "rm -rf platforms && rm -rf node_modules && npm install && tns platform add android"
},
"nativescript": {
"id": "org.nativescript.forni",
"tns-android": {
"version": "2.5.1"
}
},
"dependencies": {
"lodash": "^4.17.4",
"nativescript-oauth": "^1.2.1",
"nativescript-telerik-ui": "^1.5.1",
"tns-core-modules": "2.4.4"
},
"devDependencies": {
"babel-traverse": "6.21.0",
"babel-types": "6.21.0",
"babylon": "6.15.0",
"lazy": "1.0.11"
}
}
这是我的app.js,这是我希望打破的地方:
const application = require("application");
application.start({ moduleName: "views/login/login" });
我正在使用Windows 10.我也试过直接在我的三星Galaxy S7上运行应用程序,但它的工作方式完全相同。
答案 0 :(得分:0)
在Win10机器上,我遇到了类似的问题。 看来,调试器已连接到很晚了。 您可以添加一个触发功能的按钮进行检查,并在该功能内设置一个断点。按下按钮后应该可以使用。
要解决此问题,请尝试在launch.json文件内的tnsArgs中添加-debug-brk 选项:
{
"name": "Launch on Android",
"type": "nativescript",
"request": "launch",
"platform": "android",
"appRoot": "${workspaceRoot}",
"sourceMaps": true,
"watch": true,
"stopOnEntry": false,
"tnsArgs": ["--debug-brk"]
}
文档:https://docs.nativescript.org/tooling/debugging/debugging