waiaan
V2EX  ›  Node.js

如何调试 npm run build?

  •  
  •   waiaan · Apr 23, 2021 · 6041 views
    This topic created in 2031 days ago, the information mentioned may be changed or developed.

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

    Supplement 1  ·  Apr 23, 2021

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

    ps: debug 是大部分的日志工具包
    waiaan
    waiaan
    OP
    Apr 23, 2021
    16
    @hyrious
    @donlian
    多谢,这个 DEBUG=* 具体怎么操作?
    hyrious
    hyrious
    Apr 23, 2021
    17
    @waiaan
    linux/macos:
    直接执行 DEBUG=* npm run build (打在同一行)
    windows:
    set "DEBUG=*"
    npm run build
    waiaan
    waiaan
    OP
    Apr 23, 2021
    18
    @donlian
    @hyrious
    找到了 debug 包,我试试。
    gbin
    gbin
    Apr 23, 2021 via Android
    19
    不介意微信联系,我来帮忙看看? U3luY2hlcl9QeWxvbg==
    jinliming2
    jinliming2
    Apr 24, 2021
    20
    断点调试方法:先看你的 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
    zhenwang
    Apr 24, 2021
    21
    npm run 的时候,添加'--verbose'呀,会有很多信息。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1074 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 49ms · UTC 23:31 · PVG 07:31 · LAX 15:31 · JFK 18:31
    ♥ Do have faith in what you're doing.