我正在使用一个新的工兵模板("sveltejs/sapper-template#webpack"
(,并希望使用 WebStorm 在src/server.js
中设置断点。设置断点很容易,但我无法让调试器在遇到断点时暂停执行。我尝试了一堆不同的东西,然后我才意识到,由于 Svelte/Sapper 的工作方式,可能无法让它工作,即编译器生成一组新文件,这是实际执行的。因此,当我在"面向开发人员"文件中设置一个零效果的断点时,因为它是实际执行的生成的文件。具体来说,我说的是面向开发人员的文件src/server.js
文件和__sapper__/dev/server/server.js
中生成的文件。
我看到了一个YouTube视频,其中成功地展示了我正在尝试做的事情:https://www.youtube.com/watch?v=x155wGkbKm8。在视频中,作者使用 Sappercli.js
作为驱动程序,dev 作为参数 - 这就是运行npm run dev
时在引擎盖下发生的事情。但是,正如您将在视频中看到的那样,成功使用的server.js
文件是src/
中的文件,而不是__sapper__/build/server/
中生成的文件。这对我来说没有意义。
所以,我的问题是:
1(是否有其他人能够在面向开发人员的Sapper用户代码上设置断点,就像我上面描述的以及视频中显示的那样?如果是这样,你是怎么做到的?
2(如果无法像这样直接设置断点,是否可以改用生成的代码,而是对构建步骤进行一些更改,以使生成的代码更适合调试?
如果还有其他选择,我也有兴趣听到这些选择。谢谢!
在启用--inspect
的情况下运行 cli:
node --inspect node_modules/sapper/dist/cli.js dev
然后通过访问浏览器中的chrome://inspect
打开调试器。
可以在"源"选项卡中手动设置断点,也可以在代码中使用debugger
关键字设置断点。