2017-03-23 97 views
1

例如在PHP中,我們可以將PHP和JavaScript代碼寫入同一個文件。如何將服務器端和客戶端JavaScript代碼寫入html文件?node.js如何識別服務器和客戶端腳本?

+0

服務器端JS會得到服務器的機器,JavaScript就獲得客戶端的瀏覽器執行客戶端上執行。想想這個,你會明白的! – Sikorski

+0

@Sikorski你是對的。但OP對模板引擎如何區分客戶端JavaScript和node.js感到困惑。 –

+0

@Bibek Subedi你甚至寫在html中的服務器端代碼,當談到nodejs? – Sikorski

回答

2

這聽起來像你正在尋找一個模板引擎,如HandlebarsPug

這些將允許您使用服務器端邏輯呈現HTML頁面,然後將其發送到客戶端。

+0

我查帕格。據我所知,沒有任何標籤,它可以分開服務器和客戶端腳本在html中爲node.js。我們應該使用像帕格和把手這樣的圖書館。謝謝AJ –

2

如何將服務器端和客戶端JavaScript代碼寫入html文件?

請參閱,NodeJs是一個JavaScript的服務器和節點服務器沒有DOM。所以在你的情況下,你必須爲服務器和瀏覽器兩個地方寫javascript。

由於commonJs模塊無法在瀏覽器中運行,因此它可以在服務器(節點)處使用。

+0

其實它是可以的。例如c#是asp.net mvc的服務器端語言,但我們可以使用剃鬚刀引擎在服務器上標記c#代碼。如果標籤可以是node.js的標準,我們可以在html中指示服務器端腳本。只是想法。我只是學習nide.js。謝謝。 –

1

這裏我簡單的例子,爲簡單起見,我使用express,但我希望你能理解大概的想法。

服務器:

var express = require('express'); 
var app = express(); 
var port = process.env.PORT || 3000; 
var server = app.listen(port, function() { 
    console.log('Started listen port: ' + port); 
}); 
app.get('/', function (req, res) { 
    res.sendFile(__dirname + '/index.html'); 
}) 

客戶:

<html> 
<body> 
<div id="root"></div> 
<script> 
    console.log(200); 
</script> 
</body> 
</html> 
+0

據我瞭解,index.html在客戶端運行。在這一點上我很困惑。如果我想在index.html中添加服務器端代碼,我該如何通知node.js(Express)。例如在PHP中,我們可以爲服務器端代碼添加標記。對於node.js,所有腳本都在之間。我的問題可能非常愚蠢,我爲此道歉。但我試圖通過與我使用的工具進行比較來學習。也許我應該改變我的觀點。 –

+0

對於這種情況下,您需要使用任何模板引擎(車把,玉石等),我剛剛發佈了最簡單的例子... –

+0

謝謝弗拉基米爾 –

相關問題