我在开发 hexo 博客时遇到了同样的问题。文档还不是很完整,所以我发现自己有时需要进行逆向工程。
基本思想是,在 Node.js 中,即使您的 cli 应用程序也只是普通的节点应用程序,您将它们暴露给操作系统命令行界面。在 Unix 系统上,您正在使用这一行:
#!/usr/bin/env node
允许环境执行脚本。
许多基于 cli 的节点应用程序都试图坚持使用 -g 选项全局安装它们。
npm install -g node-inspector
我个人更喜欢尽可能多地控制我的开发环境,所以我更喜欢打破一些约定,将我的 node_modules 签入源代码控制,同时通过删除 -g 在本地安装我可以安装的所有东西。
npm install node-inspector
现在您不必为了完成这项工作而执行此操作,我只是在描述此设置,因为它与您的问题有关。当我运行节点检查器时,我不能简单地使用:
node-inspector
相反,我必须在我的项目中显式调用它。我通过在我的 node_modules/.bin 文件夹中执行符号链接来做到这一点:
node_modules/.bin/node-inspector
现在我和你一样运行节点检查器。
接下来我需要做的就是在调试中启动 cli 进程,并可选择将参数传递给它:
node --debug-brk node_modules/.bin/hexo generate
请注意,我在这里明确调用符号链接,而不是简单地:
node --debug-brk hexo generate
如果我尝试上面的行,我会得到一个错误:“错误:找不到模块”。
我希望这会有所帮助。