【发布时间】:2013-08-12 12:19:43
【问题描述】:
我正在编写一个简单的 Helloworld 示例,在互联网上随处可见:
[nodejs.php] [位置:localhost/nodejs.php]
<!DOCTYPE HTML>
<html>
<head>
<script type="text/javascript">
var http = require('http');
var server = http.createServer(function (request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.end("Hello World\n");
}).listen(8000);
console.log("Server running at http://127.0.0.1:8000/");
</script>
</head>
</html>
代码非常简单易懂。但是,当我尝试运行代码时,出现了以下错误:
Uncaught ReferenceError: require is not defined
我理解该消息意味着我的页面中没有require()等功能。当然没有。我又翻了很多次谷歌,尝试了不同的教程,看看我是否需要在网页中嵌入任何类型的 nodejs.js 文件,但所有教程似乎都没有提到这一点,我已经尝试输入 Nodejs文件夹。我发现了很多像edit.js、adduser.js、bin.js...这样的文件,我被正式卡住了。我一遍又一遍地复习了 Nodejs 的真正含义,以及为什么该示例不起作用,但 Google 的支持并不多。到目前为止,据我了解:
- nodejs 是一个事件驱动、非阻塞 I/O 的 javascript 工具包
- nodejs 允许用户使用 javascript 访问后端编码
- nodejs 解析 V8 Google Chrome javascript 引擎
- nodejs 可以创建并发服务器应用程序
- 在我的假设中,nodeJS 是一个框架(它可能是错误的),它连接服务器和客户端以允许后端访问
如果我错了,请纠正我,我真的很感激。在没有太多资源的情况下,我需要对这个主题有更多的了解。
我的问题是:
- 如果 NodeJS 是一个 javascript 库,我如何将它嵌入到我的网站中?本地主机与在线托管有什么不同吗?
- 我经常看到有人处理listen(8000),端口是什么?我应该选择哪个端口?
- Socket.io 和 NodeJS 的本质一样吗,如何安装(我知道 Socket.io 是在 Nodejs 上运行的)?带有 NodeJS 的 Socket.io 是否与带有 jQuery 的 jQueryUI 一样抽象?为了将来参考,当我想在 NodeJS 中使用另一个库时,这样做的标准协议是什么?
谢谢大家,
提姆。
【问题讨论】:
-
node.js 在服务器端工作,而不是在浏览器中
-
我在互联网上读过很多次cmets(node.js在服务器端工作),但我不清楚。你能更深入一点,或者解释一下我如何让它像在服务器中一样工作吗?
-
@cuzmAZN 您需要基于 JavaScript 引擎构建的 NodeJS 平台,它运行在服务器端(而不是 PHP)并允许您返回 HTTP 响应。它没有脚本标签,也没有 HTML 的显式建模。我在之前的 cmets 中向您引用的这本书是一本很好且广受赞誉的介绍 - 它涵盖了 NodeJS 服务器的基础知识,我认为您应该从这里开始……您的问题听起来像是您确实花了很多精力来寻找进入它,但听起来很误导。
-
第一季度。见灵魂检查。要非常清楚,您将使用 node.js 而不是 PHP 和网络服务器。 Q2。端口是指网络服务器端口:它正在侦听流量。 Q3。不。NodeJS 与所有这些都非常不同。
-
啊。是否像 NodeJS(以愚蠢的解释方式)就像 PHP 一样。我的意思是,您使用 NodeJS 而不是 PHP?而不是寻找一个 PHP 主机,你需要一个 NodeJS 主机?如果是这样,我可以开始安装 NodeJS 后的 htdocs(或任何类似的)文件夹在哪里?它运行本地主机吗?我目前正在使用 XAMPP。
标签: javascript node.js