2015-12-08 133 views
0

我想從html文件執行nodejs腳本。 我試圖browserify,但我得到很多錯誤,如「http.createServer不是一個功能」。從html文件執行Nodejs腳本

是否有任何alternativesrify的替代方案?

回答

1

您不能在客戶端執行node.js腳本

其實這個說法並不完全正確。如果腳本只包含瀏覽器和node.js都可以運行的代碼,那麼可以以某種方式檢測它正在運行的環境並切換到對該環境友好的代碼,然後它將工作。但是腳本僅限於在中運行的環境的功能,因此諸如http.createServer()之類的調用在瀏覽器中不起作用。它沒有在瀏覽器中定義,並且可能永遠不會。從安全角度來看這太危險了。

什麼你可以要做的就是創建一個的Node.js服務器端API,並讓瀏覽器調用它通過AJAX。提供API的腳本將在node.js中運行,因此它可以執行node.js可以執行的任何操作。但是,由於該代碼未在瀏覽器中運行,因此無法影響瀏覽器,除非返回。

我懷疑你實際上需要兩個腳本 - 一個在服務器上,一個在客戶端 - 相互通信。您如何設置通信取決於您,但如果您要啓動服務器以響應AJAX調用,那麼您需要非常小心安全性。儘管如此,這是可行的。像webmin這樣的應用很常見。

4

沒有替代browserify會讓你做瀏覽器環境中根本不可能的事情......包括啓動HTTP服務器。

1

在瀏覽器上啓動服務器將不可能。

沒有理智的瀏覽器會允許這樣做,因爲它會導致嚴重的安全漏洞和攻擊。