如何调试 npm run build? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
waiaan
V2EX    Node.js

如何调试 npm run build?

  •  
  •   waiaan 2021-04-23 10:08:49 +08:00 5192 次点击
    这是一个创建于 1707 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    第 1 条附言    2021-04-23 16:03:28 +08:00

    按照帖子里大佬们的指导,用DEBUG=* 的方法测试,运行了一段时间后卡住,结果如下:

     ...... eslint:linter Generating fixed text for 文件名 (pass 1) +5s eslint:text-fixer Applying fixes +5s eslint:text-fixer shouldFix parameter was false, not attempting fixes +0ms building for prod environment... 

    每次的文件名都不一样,能看出是什么问题吗?

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

    ps: debug 是大部分的日志工具包
    waiaan
        16
    waiaan  
    OP
       2021-04-23 15:41:29 +08:00
    @hyrious
    @donlian
    多谢,这个 DEBUG=* 具体怎么操作?
    hyrious
        17
    hyrious  
       2021-04-23 15:47:21 +08:00
    @waiaan
    linux/macos:
    直接执行 DEBUG=* npm run build (打在同一行)
    windows:
    set "DEBUG=*"
    npm run build
    waiaan
        18
    waiaan  
    OP
       2021-04-23 15:48:05 +08:00
    @donlian
    @hyrious
    找到了 debug 包,我试试。
    gbin
        19
    gbin  
       2021-04-23 15:59:42 +08:00 via Android
    不介意微信联系,我来帮忙看看? U3luY2hlcl9QeWxvbg==
    jinliming2
        20
    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 标签下单步执行就行了。
    zhenwang
        21
    zhenwang  
       2021-04-24 07:59:01 +08:00
    npm run 的时候,添加'--verbose'呀,会有很多信息。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2725 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 15:01 PVG 23:01 LAX 07:01 JFK 10:01
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86