2017-02-11 69 views
0

爲什麼在嘗試瞭解更多關於node.js中的http模塊的方法時,我會得到不同的結果?節點腳本中的可用模塊

  1. 如果我輸入節點REPL,然後打印HTTP模塊的內容,也就是說,如果我跑

    [email protected]:~> node 
    > console.log(http) 
    

    我得到的HTTP對象的所有細節:

    { IncomingMessage: 
        { [Function: IncomingMessage] 
         super_: 
          { 
    ... 
    
  2. 如果我編寫一個腳本文件,例如script.js包含以下單行

    console.log(http); 
    

    ,並通過運行

    node script.js 
    

    執行它,我得到

    ReferenceError: http is not defined 
    

我本來期望這兩種情況下以同樣的方式來表現 - 無論是HTTP模塊,預裝或不。爲什麼有差異?我在這裏弄錯了什麼?

我以爲我可以「修復」這個由運行(在第2版)

node -r http script.js 

不應該在該預加載模塊的HTTP預裝模塊HTTP,從而避免引用錯誤?

期待您的意見!

+0

節點REPL不只是純節點;它是一組特定的工具,你觀察的是它的一個特點。 – Pointy

回答