如何调试 npm run build?

2021-04-23 10:08:49 +08:00
 waiaan

打包项目的时候出错,已排除项目的问题,求问如何打断点调试? 谢谢!

4097 次点击
所在节点    Node.js
21 条回复
murmur
2021-04-23 10:11:40 +08:00
package.json 里不是写了 build 对应哪条指令,直接进那个文件执行就是了啊
murmur
2021-04-23 10:12:36 +08:00
硬刚 webpack 和 babel,先佩服楼主的勇气,祝好运,我是没这个勇气,一般遇到这个情况我直接把以前的依赖全回滚
DOLLOR
2021-04-23 10:22:02 +08:00
这种问题出错一般是先移走 node_modules 再执行一遍 npm install 试试吧。
waiaan
2021-04-23 10:49:12 +08:00
@murmur
@DOLLOR
试过了,后面直接卡死,没有任何信息,可能进入死循环了。
@murmur
进了,但是没办法断点。
geylnu
2021-04-23 11:11:16 +08:00
看报错去 github 搜 issue,大部分问题都是相似的
qqqq11
2021-04-23 11:14:27 +08:00
报什么错
Curtion
2021-04-23 11:26:49 +08:00
一般看错误日志就可以解决大部分问题,真要打断点的话一般 npm run build 调用的是 node_modules/.bin/webpack,最后实际上也是通过 node 在调用 js,你自己设定一下使用 node debug 调试就行了。
waiaan
2021-04-23 11:46:40 +08:00
@geylnu
@qqqq11
@Curtion
现在是没报错日志,卡住不动了,怀疑是进入了死循环。
run dev 倒是没问题。
phobal
2021-04-23 12:37:43 +08:00
切到上一次能正常 build 的版本试试,如果可以说明是这次迭代出了问题,然后再去慢慢删代码,最小范围化排查问题。
ycr6708536
2021-04-23 13:18:42 +08:00
webstrom
hyrious
2021-04-23 13:39:11 +08:00
建议先把 node_modules 删了重新 npm install 一下,然后加个环境变量 DEBUG=* 跑 npm run build 试试
LokiSharp
2021-04-23 13:42:31 +08:00
WebStorm 直接打断点跑不就好了 右键点 npm 里的命令 debug
TomatoYuyuko
2021-04-23 13:44:00 +08:00
把依赖都删了重新 install,或者换 yarn 试试
IsaacYoung
2021-04-23 14:00:58 +08:00
vscode 不是可以直接 debug npm scripts 了吗
donlian
2021-04-23 14:42:56 +08:00
设置一下 DEBUG=* npm run build 看下日志走到哪里去了

ps: debug 是大部分的日志工具包
waiaan
2021-04-23 15:41:29 +08:00
@hyrious
@donlian
多谢,这个 DEBUG=* 具体怎么操作?
hyrious
2021-04-23 15:47:21 +08:00
@waiaan
linux/macos:
直接执行 DEBUG=* npm run build (打在同一行)
windows:
set "DEBUG=*"
npm run build
waiaan
2021-04-23 15:48:05 +08:00
@donlian
@hyrious
找到了 debug 包,我试试。
gbin
2021-04-23 15:59:42 +08:00
不介意微信联系,我来帮忙看看? U3luY2hlcl9QeWxvbg==
jinliming2
2021-04-24 01:00:37 +08:00
断点调试方法:先看你的 package.json 里 build 的脚本怎么写的。然后用 node --inspect-brk 去执行。
比如,如果是 webpack 的话,就 node --inspect-brk ./node_modules/.bin/webpack 参数
通过 node 的 inspect-brk 参数启动后,node 会自动断点断在 webpack 入口的第一行。这时打开 Chrome,随便一个页面打开 devTools,在左上角会出现一个绿色的 Node.JS 图标(在切换手机显示模式按钮的右边),点击后就会自动连接到 node 的 debug,然后进 source 标签下单步执行就行了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/772639

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX