waiaan
V2EX  ›  Node.js

如何调试 npm run build?

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

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