【问题标题】:How to make a page recognize node.js code如何让页面识别 node.js 代码
【发布时间】:2012-03-05 15:02:36
【问题描述】:

我已经尝试使用 socket.io 创建一个小聊天。但现在,我正在尝试在没有任何依赖的情况下做同样的事情。

我的服务器端似乎没问题,问题是当浏览器无法识别任何 node.js 代码时呈现我的 html 页面,例如:“require”语句。

引发了以下异常:Uncaught ReferenceError: require is not defined

我将<script src="chat2.js" type="text/javascript" charset="UTF-8"></script> 放在我的页面上,其中“chat2.js”是我的服务器实现。

当我在网络浏览器上键入“localhost:8080”时,我正在呈现页面。我不知道要让页面识别页面中编写的服务器端代码。

谢谢!

【问题讨论】:

    标签: node.js


    【解决方案1】:

    node.js 是一种服务器端语言。它被设计为在由节点驱动的服务器上运行。这是一个有趣的案例,因为服务器端语言和客户端语言都是 JavaScript。在某些情况下,在服务器端使用的相同代码也可以在客户端使用。

    例如,DOM 操作是可以在服务器端执行的操作示例,文档尚未发送到客户端,它们也是主要在客户端完成的操作示例- 侧面。

    但是,您尝试在浏览器中运行只能在服务器上运行的代码。如果代码包含依赖于服务器的模块,那么在客户端中运行它是不可能的。

    【讨论】:

    • 感谢您的回答,jmort253。我虽然使用纯 node.js 可以实现与 socket.io 相同的情况。我正在尝试进行简单的聊天。我把“网络”依赖放在服务器上,我在客户端上做了同样的事情。 var net = require('net'); var client = net.connect(8001, function() {...。但这是不可能的。
    • 当然,net.connect 创建了一个侦听端口 8001 的服务器,而这并不是客户端的真正用途。我认为这只是我们在学习 SSJS 时要处理的痛点之一,区分客户端和服务器 :)
    猜你喜欢
    • 2013-10-09
    • 2010-09-10
    • 2020-10-13
    • 2014-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-04-16
    相关资源
    最近更新 更多