Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/33.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 节点脚本中的可用模块_Javascript_Node.js - Fatal编程技术网

Javascript 节点脚本中的可用模块

Javascript 节点脚本中的可用模块,javascript,node.js,Javascript,Node.js,当我试图通过以下方式了解node.js中http模块的更多信息时,为什么会得到不同的结果 如果我输入节点REPL,然后打印http模块的内容,即如果我运行 me@mymachine:~> node > console.log(http) 我获得了http对象的所有详细信息: { IncomingMessage: { [Function: IncomingMessage] super_: { ... 如果我编写一个名为script.j

当我试图通过以下方式了解node.js中http模块的更多信息时,为什么会得到不同的结果

  • 如果我输入节点REPL,然后打印http模块的内容,即如果我运行

    me@mymachine:~> node
    > console.log(http)
    
    我获得了http对象的所有详细信息:

    { IncomingMessage: 
        { [Function: IncomingMessage]
            super_:
              {
    ...
    
  • 如果我编写一个名为script.js的脚本文件,其中包含以下一行

    console.log(http);
    
    并通过运行

    node script.js
    
    我明白了

  • 我希望这两种情况的行为方式相同——http模块是否预加载。为什么会有区别?我这里出了什么错

    我想我可以通过运行(在版本2中)预加载http模块来“修复”这个问题

    这不应该预加载模块http从而避免引用错误吗


    期待您的投入

    Repl具有默认情况下所需的所有标准Node.js核心模块


    Repl拥有默认情况下所需的所有标准Node.js核心模块


    节点REPL不仅仅是普通节点;这是一组特定的工具,您所观察到的是它的一个特性;这是一套特定的工具,你所观察到的是它的一个特性。谢谢-这就解释了它。尽管如此,我还是想知道为什么不能使用
    -r
    参数预加载模块?这确实很有趣。我不确定,但我怀疑
    -r
    参数没有像REPL那样计算
    global.fs=require('fs')
    。其他人可以在这里透露一些信息。谢谢-这就解释了。尽管如此,我还是想知道为什么不能使用
    -r
    参数预加载模块?这确实很有趣。我不确定,但我怀疑
    -r
    参数没有像REPL那样计算
    global.fs=require('fs')
    。其他人可以在这里透露一些信息。
    ReferenceError: http is not defined
    
    node -r http script.js