【问题标题】:Requirejs with nodejs doesn't tell me the line number of the error, just the errorRequirejs 和 nodejs 没有告诉我错误的行号,只是错误
【发布时间】:2013-07-25 04:31:18
【问题描述】:

Requirejs 和 nodejs 并没有告诉我错误的行号,只是错误

例如结果是:Error: Evaluating ccc.js as module "ccc" failed with error: SyntaxError: Unexpected token ,

然后是堆栈:

at Function.req.load (D:\web\pc\node_modules\requirejs\bin\r.js:2470:23)
at Object.context.load (D:\web\pc\node_modules\requirejs\bin\r.js:1858:21)
at Object.Module.load (D:\web\pc\node_modules\requirejs\bin\r.js:1059:29)
at Object.Module.fetch (D:\web\pc\node_modules\requirejs\bin\r.js:1049:66)
at Object.Module.check (D:\web\pc\node_modules\requirejs\bin\r.js:1079:26)
at Object.Module.enable (D:\web\pc\node_modules\requirejs\bin\r.js:1376:22)
at Object.context.enable (D:\web\pc\node_modules\requirejs\bin\r.js:1730:39)
at Object.<anonymous> (D:\web\pc\node_modules\requirejs\bin\r.js:1361:33)
at g (D:\web\pc\node_modules\requirejs\bin\r.js:363:23)
at each (D:\web\pc\node_modules\requirejs\bin\r.js:291:31)
at Object.Module.enable (D:\web\pc\node_modules\requirejs\bin\r.js:1323:17)
at Object.Module.init (D:\web\pc\node_modules\requirejs\bin\r.js:1013:26)
at callGetModule (D:\web\pc\node_modules\requirejs\bin\r.js:1403:63)
at Object.context.completeLoad (D:\web\pc\node_modules\requirejs\bin\r.js:1763:21)
at Function.req.load (D:\web\pc\node_modules\requirejs\bin\r.js:2510:17)
at Object.context.load (D:\web\pc\node_modules\requirejs\bin\r.js:1858:21)
at Object.Module.load (D:\web\pc\node_modules\requirejs\bin\r.js:1059:29)
at Object.Module.fetch (D:\web\pc\node_modules\requirejs\bin\r.js:1049:66)
at Object.Module.check (D:\web\pc\node_modules\requirejs\bin\r.js:1079:26)
at Object.Module.enable (D:\web\pc\node_modules\requirejs\bin\r.js:1376:22)
at Object.context.enable (D:\web\pc\node_modules\requirejs\bin\r.js:1730:39)
at Object.<anonymous> (D:\web\pc\node_modules\requirejs\bin\r.js:1361:33)
at g (D:\web\pc\node_modules\requirejs\bin\r.js:363:23)
at each (D:\web\pc\node_modules\requirejs\bin\r.js:291:31)
at Object.Module.enable (D:\web\pc\node_modules\requirejs\bin\r.js:1323:17)
at Object.Module.init (D:\web\pc\node_modules\requirejs\bin\r.js:1013:26)
at Object.context.makeRequire.mixin.isBrowser [as _onTimeout] (D:\web\pc\node_modules\requirejs\bin\r.js:1646:36)
at Timer.list.ontimeout (timers.js:101:19)

错误在哪里?我知道文件但是哪一行?

感谢帮助

【问题讨论】:

  • 我们也可以看看代码吗?
  • 我已经发现了错误。但这不是问题,我想在控制台中显示,就像发生错误的行号一样。例如,第 X 行有一个额外的逗号。
  • 我看到有人使用 - github.com/nomiddlename/log4js-node - 但我不确定这是否能很好地为您服务。试试看吧!
  • 好吧,这只是增加了将某些内容写入控制台的时间

标签: node.js requirejs syntax-error


【解决方案1】:

这不是 requirejs 的问题,并且在 nodejs 版本 0.12 中已修复。

不幸的是,在 vm.runInThisContext 中没有足够的钩子 旧节点版本以获取信息。

更多信息你可以找到here

因此,nodejs v.0.10 不想显示有关问题的其他信息。但是,如果您愿意 - 您可以安装最新版本的 nodejs 并在“必需”文件中获取有关语法错误的更多信息。

顺便说一句,使用Docker 非常简单 - 您只需从 node:0.12 拉取 repo。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-24
    • 2020-10-10
    • 2011-03-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 2020-08-30
    相关资源
    最近更新 更多