Javascript node.js如何识别服务器端和客户端脚本?

Javascript node.js如何识别服务器端和客户端脚本?,javascript,node.js,Javascript,Node.js,例如,在PHP中,我们可以将PHP和JavaScript代码写入同一个文件。如何将服务器端和客户端JavaScript代码写入html文件 如何将服务器端和客户端JavaScript代码写入html文件 请看,NodeJs是服务器的javascript,而节点服务器没有DOM。因此,在您的情况下,必须为两个位置编写javascript,一个用于服务器,另一个用于浏览器 由于commonJs模块不能在浏览器中运行,因此可以在服务器(节点)上使用 如何将服务器端和客户端JavaScript代码写入h

例如,在PHP中,我们可以将PHP和JavaScript代码写入同一个文件。如何将服务器端和客户端JavaScript代码写入html文件

如何将服务器端和客户端JavaScript代码写入html文件

请看,NodeJs是服务器的javascript,而节点服务器没有DOM。因此,在您的情况下,必须为两个位置编写javascript,一个用于服务器,另一个用于浏览器

由于commonJs模块不能在浏览器中运行,因此可以在服务器(节点)上使用

如何将服务器端和客户端JavaScript代码写入html文件

请看,NodeJs是服务器的javascript,而节点服务器没有DOM。因此,在您的情况下,必须为两个位置编写javascript,一个用于服务器,另一个用于浏览器


由于commonJs模块不能在浏览器中运行,因此可以在服务器(节点)上使用

听起来你在寻找一个模板引擎,比如or


这将允许您在将HTML页面发送到客户端之前使用服务器端逻辑呈现HTML页面。

听起来您正在寻找类似或的模板引擎


这将允许您在将HTML页面发送到客户端之前使用服务器端逻辑来呈现HTML页面。

这里是我的简单示例,为了简单起见,我使用了
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>

控制台日志(200);

在我的简单示例中,为了简单起见,我使用了
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>

控制台日志(200);

服务器端js将在服务器机器上执行,客户端javascript将在客户端浏览器上执行。想想看,你会得到的@西科尔斯基:你说得对。但OP对模板引擎如何区分客户端javascript和node.js感到困惑。@Bibek Subedi当谈到nodejs时,你甚至用html编写服务器端代码吗?@Sikorski我经常写。我使用像Jade这样的模板引擎。服务器端js将在服务器机器上执行,客户端javascript将在客户端浏览器上执行。想想看,你会得到的@西科尔斯基:你说得对。但OP对模板引擎如何区分客户端javascript和node.js感到困惑。@Bibek Subedi当谈到nodejs时,你甚至用html编写服务器端代码吗?@Sikorski我经常写。我像Jade一样使用模板引擎。我检查了帕格。据我所知,在node.js的html中,没有任何标记可以将服务器端脚本和客户端脚本分开。我们应该使用一些图书馆,比如哈巴狗和把手。谢谢你,阿吉,帕格。据我所知,在node.js的html中,没有任何标记可以将服务器端脚本和客户端脚本分开。我们应该使用一些图书馆,比如哈巴狗和把手。谢谢你,事实上这是可能的。例如,c#是asp.net mvc的服务器端语言,但我们可以使用razor引擎在服务器上标记c#代码。如果一个标记可以是node.js的标准,那么我们可以用html表示服务器端脚本。就是这个主意。我只是在学习nide.js。谢谢。实际上这是可能的。例如,c#是asp.net mvc的服务器端语言,但我们可以使用razor引擎在服务器上标记c#代码。如果一个标记可以是node.js的标准,那么我们可以用html表示服务器端脚本。就是这个主意。我只是在学习nide.js。谢谢。据我所知,index.html在客户端运行。在这一点上,我感到困惑。如果我还想在index.html中添加服务器端代码,如何通知node.js(Express)。例如,在php中,我们可以为服务器端代码添加标记。对于node.js,所有脚本都在和之间。我的问题可能非常愚蠢,对此我深表歉意。但我试图通过与我使用的工具进行比较来学习。也许我应该改变我的观点。在这种情况下,您需要使用任何模板引擎(Handlebar、jade等),我刚刚发布了最简单的示例…据我所知index.html在客户端运行。在这一点上,我感到困惑。如果我还想在index.html中添加服务器端代码,如何通知node.js(Express)。例如,在php中,我们可以为服务器端代码添加标记。对于node.js,所有脚本都在和之间。我的问题可能非常愚蠢,对此我深表歉意。但我试图通过与我使用的工具进行比较来学习。也许我应该改变我的观点。在这种情况下,你需要使用任何模板引擎(把手,玉石等),我刚刚发布了最简单的例子。。。