我想知道在Cordova中是否有可能调试javascript hook?我的hook在prepare之前触发。我的命令是:
cordova prepare ios
我目前使用的是Visual Studio Code,它有一个名为"Cordova工具"的插件可以在运行时调试应用程序。但我的需求是在构建时进行调试。
有什么推荐吗?
PS:我的意思是真正的调试,也就是断点和变量显示等。
cordova prepare ios
我目前使用的是Visual Studio Code,它有一个名为"Cordova工具"的插件可以在运行时调试应用程序。但我的需求是在构建时进行调试。
有什么推荐吗?
PS:我的意思是真正的调试,也就是断点和变量显示等。
2019年11月25日更新的答案
由于node-inspector
已经被弃用,以下是我现在会这样做:
chrome://inspect
node --inspect --inspect-brk /path/to/node_modules/cordova/bin/cordova prepare
,其中包含我希望调试的挂钩脚本检查
以打开Chrome Dev Tools添加文件夹到工作区
并选择包含挂钩脚本的Cordova项目内部的目录原始答案2017年6月7日
以下是我如何调试我的挂钩脚本:
npm install -g node-inspector
从Cordova项目根目录,通过适当的选项运行 Cordova 命令来使用 node inspector 触发我的挂钩脚本,例如:
node-debug /path/to/node_modules/cordova/bin/cordova prepare
当node-inspector在Chrome标签中打开时,浏览Sources以找到您的挂钩脚本
您可以在不打开浏览器的情况下,通过将此调试配置放入项目根目录下的.vscode/launch.json
文件中,在VS Code内轻松调试Cordova挂钩:
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Cordova Prepare",
"program": "C:/Program Files/nodejs/node_modules/cordova/bin/cordova", // This is for winx64 adjust it to your platform
"args": ["prepare"]
}
]
}
node-debug ionic cordova build android
时,总是出现重复进程===>错误:listen EADDRINUSE :::5858。 有解决方案吗? - undefinedif (ctx.opts.platforms.indexOf('ios') < 0)
。我编写的脚本还是按照Node.js的风格编写的,即使用module.exports。重要的是使用hook标签而不是hooks文件夹中的hook。在hooks文件夹中,无法进行调试。希望这能帮助其他人避免我整天寻找错误的经历。 - undefined