2015-05-14 58 views
2

我正在使用node.js創建一個Web應用程序。當運行該應用程序(或者通過在終端上的瀏覽器中打開index.html或使用命令「NPM啓動」)我得到兩個錯誤:未捕獲ReferenceError:未定義進程

未捕獲的ReferenceError:處理並不限定

未捕獲的ReferenceError:需求未定義

我通過在我的index.html頭標中特別包含指向this腳本的鏈接,解決了「require is not defined」錯誤,其中require函數已定義。 但是,我找不到類似的過程函數。

我的問題是doublefold:

  1. 爲什麼內置Node.js的模塊需要重新定義?爲什麼他們不被識別,就是「內置模塊」?術語「內置模塊」是不是意味着模塊不需要外部/二手重新定義?

  2. 有沒有辦法解決這個問題?我的腳本非常簡單,我只是想使用node.js的基本功能,所以我無法弄清楚我可能做了什麼錯誤。

如果有人發現這個問題,並找到解決辦法或發生這種情況的原因,你會有很大的幫助。

回答

1

Node.js代碼必須由節點進程運行,而不是瀏覽器(代碼必須在服務器上運行)。

運行的代碼,你必須運行命令:

node server.js 

然後你就可以通過鍵入「http://localhost:8080」,例如從瀏覽器訪問您的服務器。你必須有一個文件server.js(或其他)與你想要的服務器代碼(在這種情況下,在端口8080中創建一個web服務器)。

你可以按照這個簡單的例子,使用快遞作爲HTTP服務器模塊:http://expressjs.com/starter/hello-world.html

+0

我使用命令「故宮開始」,它指的是「開始」的劇本里被設置爲「開始」的package.json :「http-server -a localhost -p 8000 -c-1」,所以它基本上這樣做,它運行到我創建的本地服務器。不過,我得到了「過程未定義」。所以這肯定是另一個問題。不過謝謝。 – Kantharis

+0

在scripts/start屬性中,我通常有類似「start」:「node server.js」,如果你有直接的node.js腳本,第一行必須是「#!/ usr/bin/env node」或類似。 但是,嘗試直接使用節點命令運行。發佈代碼,可以澄清問題。 – greuze

相關問題