V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Hanggi
V2EX  ›  Node.js

Node.js 程序运行报错问题

  •  
  •   Hanggi · 2019-01-16 15:21:11 +08:00 · 3537 次点击
    这是一个创建于 2139 天前的主题,其中的信息可能已经有所发展或是发生改变。
    今天在某个服务器上跑 nodejs 发现,程序运行会报错(代码单词写错,变量名不错在之类的)。但是我发现在我的电脑上并不会直接报错,而是到运行那段代码的时候才会报错。

    代码是一样的,是哪里配置有问题吗?怎么让 nodejs 在启动时就直接报错呢。
    9 条回复    2019-01-17 01:26:49 +08:00
    zzjas98
        1
    zzjas98  
       2019-01-16 15:47:43 +08:00
    代码单词写错,变量名不错在之类的 --> ESLint
    vicvinc
        2
    vicvinc  
       2019-01-16 15:48:17 +08:00
    文件名大小写?
    Hanggi
        3
    Hanggi  
    OP
       2019-01-16 15:51:53 +08:00
    @zzjas98 不理解的是,为什么在服务器上会直接报错,而在本地直到执行那段代码才报错。明明是同一个代码库。
    Hanggi
        4
    Hanggi  
    OP
       2019-01-16 15:52:08 +08:00
    @vicvinc 同一个代码跑出来的。
    Trim21
        5
    Trim21  
       2019-01-16 15:54:57 +08:00
    @Hanggi #4 windows 下面大小写不敏感, linux 下面敏感, 可能在 require 文件的时候报错了. 比如有个 Utils.js 文件, 而你 require('./util.js')
    Trim21
        6
    Trim21  
       2019-01-16 15:56:49 +08:00
    require('./utils.js')
    xxxy
        7
    xxxy  
       2019-01-16 15:59:24 +08:00
    弱类型解释型语言只能运行时才报错的。要想限制的话,可以用一楼说的 ESLint 或者 typescript
    TomVista
        8
    TomVista  
       2019-01-16 17:04:37 +08:00
    这很 js.

    无解,ESLint 或者 typescript 可以提供帮助.
    zzjas98
        9
    zzjas98  
       2019-01-17 01:26:49 +08:00
    有点好奇为什么可以在服务器上直接会报错。楼主你是指在服务器上,node 会在没有实际运行到那段码的时候就告诉你有错吗?楼主你要不加点 log 看看有没有实际运行到报错的那段代码,如果运行到了就没什么奇怪的。如果没运行就报错,可能是服务器上有个什么 static checking 类似的东西?
    不过感觉 2 楼 5 楼说的可能更靠谱,大小写也查一查。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2364 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 16:04 · PVG 00:04 · LAX 08:04 · JFK 11:04
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.