在我的许多应用程序中,我使用NPM package.json
来管理我的构建工具。我发现其中一个模块可能有一个bug。我想调试它,但我不知道如何在构建任务的上下文中调试应用程序。
具体来说,在这种情况下,我正在使用Ember-cli。 Ember-cli有一个构建命令:ember build
,它使用package.json
中定义的一组模块构建应用程序,例如ember-cli-compass-compiler
。
我希望能够在构建运行时触发的ember-cli-compass-compiler
模块的某些点添加断点或某种日志记录,以便我可以检查值。
答案 0 :(得分:0)
根据https://github.com/ember-cli/ember-cli/blob/c8934ab0f2eb3aab03ce4557a36c317887245b95/lib/models/project.js看起来像构建步骤的一部分是查看项目的package.json并检查ember-cli-compass。之后,它可能会使用您项目的本地版本的ember-cli-compass-compiler来执行某些任务。调试它的最简单方法是使用console.log()并记录ember-cli-compass-compiler中的各个点,以查看正在触发的代码路径。
编译器的代码库非常小,您可能希望从index.js https://github.com/quaertym/ember-cli-compass-compiler/blob/master/index.js开始
答案 1 :(得分:0)
node --inspect-brk ./node_modules/.bin/ember build
将在调试器中启动程序。附加后,它将在入口点处停止 - 如果您尚未设置断点,这是设置断点的方便时间。
您可能需要跳过一些正常且正在正确处理的“错误”错误 - 它们看起来是随机的,如果您没有预料到它们可能会令人困惑。您可以取消选中“捕获的异常”以避免这种情况,但是您可能会错过 ember 中发生在断点之前的重要捕获异常。