如何在html文件中包含nodejs模块?

Far*_*hed 13 javascript require node.js

首先,我是nodejs的新手,其次是我的问题.如何在js中包含nodejs net模块,在html中加载?

我的js文件看起来像这样.

net = require('net');
var client = net.createConnection(8000, '192.168.15.59');
client.on('connect',function(){
console.log('Connected To Server');
});
client.on('data',function(data){
console.log('Incoming data:; ' + data);
});
Run Code Online (Sandbox Code Playgroud)

我的html文件如下

<html>
<head>
<script type="text/javascript" src="sample.js"></script>
<script type="text/javascript">
function displaymessage(message)
{
alert(message);
client.write(message, encoding='utf8')
}
</script>
</head>

<body>
<form>
<input type="text" id="msg"></input>
<input type="button" value="Click me!" onclick="displaymessage(document.getElementById('msg').value)" />
</form>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

当我在浏览器中运行HTML文件时,它会给出以下错误

未捕获的ReferenceError:未定义require

而如果我使用命令行直接在nodejs中运行js文件(比如"node sample.js"),那么它可以正常工作.

提前致谢.

T.J*_*der 14

NodeJS在服务器上运行.HTML文件中的脚本在客户端上运行.您不在客户端上包含服务器代码.而是从客户端向服务器代码发送消息,并解释结果.因此,执行此操作的标准方法是在服务器上定义生成要生成的内容或数据的资源,并使用正常页面加载或" ajax " 从客户端检索该内容或数据(尽管这些天,大多数人不使用"ajax"中的"x"[XML] [有些人仍然这样做],他们使用JSON,文本或HTML).

  • 您能否提供指向此类示例的任何链接,我可以在其中找到服务器/客户端之间的此类通信 (3认同)

Tra*_*ebb 5

澄清@TJCrowder 在评论中所说的话:你想要做的事情是不可能的。

NodeJS 是一个服务器端框架。您在 NodeJS 中编写的 Javascript 在服务器上执行。您为 HTML 页面编写的 Javascript 在客户端上执行。客户端和服务器不能直接调用彼此的方法。这就是 AJAX 和其他异步客户端-服务器通信技术的用途。

  • 如果您能提供指向此类示例的任何链接,我将不胜感激,我可以在其中找到服务器/客户端之间的此类通信。 (6认同)