【问题标题】:Node.js inspect console commands return undefined errorNode.js 检查控制台命令返回未定义的错误
【发布时间】:2017-06-01 05:19:20
【问题描述】:

我使用以下命令启动我的脚本:

node --inspect=1234 index.js

然后打开 Chrome 开发工具 Inspector 并连接到它。

如果我输入console.log('hello'),它会工作并将消息输出到控制台

但是,如果我键入脚本中包含的任何 functionvariable,则会引发错误:

Uncaught ReferenceError: "my func / var" is not defined(...)(anonymous 函数)@VM107:1

如何让它看到并允许与我的脚本内容进行交互?

【问题讨论】:

    标签: node.js google-chrome-devtools inspect web-inspector inspector


    【解决方案1】:

    Node.js 将每个文件视为一个 CommonJS 模块。这意味着您在其中定义的所有内容都是该模块的本地内容。当您运行脚本时,index.js 中的函数 myFunc 是该模块的本地函数,不能作为全局对象使用。控制台适用于全局对象。

    如果你想从控制台访问函数,你必须将它添加到全局对象中:

    function f() {
        console.log('f');
    }
    
    global.f = f;
    

    【讨论】:

    • 这确实有效,但由于我有几个功能,这会很痛苦。
    • 但是你为什么需要它?这通常不是正确的做事方式
    • 以前我的脚本是作为 chrome 扩展程序编写的,我非常习惯在控制台中输入自己的命令、检查变量和输出对象。我正在拼命尝试获得此功能,但我不知道该怎么做。
    • 我认为您在这里无能为力。 Node.js 中的 Node.js 模块,ES6 模块也已经原生地出现在浏览器中,所以可能只是开始在你的代码中使用模块方法并尽量避免一切全局方法。
    • 如果可以做这样的事情我会这样做:global=window;
    猜你喜欢
    • 1970-01-01
    • 2012-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多