如何在 node.js 上运行项目
Posted
技术标签:
【中文标题】如何在 node.js 上运行项目【英文标题】:How to run a project on node.js 【发布时间】:2017-01-14 22:10:44 【问题描述】:我是 node.js 的初学者,我做了一个示例代码,如下所示,
var http = require("http");
var server = http.createServer(function(request,response)
response.writeHead(200,
"content-Type" : "text/html"
);
response.end("Hello again");
).listen(8888);
当我在 ecrise Run as ------> 节点项目上运行此文件时 当我使用 url localhost:8888 打开浏览器时,它显示网页不可用。你们能帮我找出答案吗?我已经在我的系统和 npm 上安装了 node.js。我错过了什么吗?
【问题讨论】:
` ).listent(8888);` 我想你的意思是listen
@N.J.Dawson 我再次纠正了这个错误,它显示网页不可用
【参考方案1】:
您永远不会接受“请求”变量。以下是您正在尝试的工作版本。
var http = require("http");
var server = http.createServer();
server.on('request', function(request, response)
response.writeHead(200,
"content-Type" : "text/html"
);
response.end("Hello again");
);
server.listen(8888);
【讨论】:
除非他这样做:check the docs for createServer。第一个参数可以是请求处理程序。 @Gant 我确实检查了文档,但错过了,他没有定义接收“请求”的参数可能更准确 @Gant 不确定您是否在讽刺,您似乎是一个非常生硬的人。如果编辑使内容有意义,我不知道“简约”有什么问题 @N.J.Dawson 我试过你的代码它显示网页不可用 @user3189828 仅运行该代码并访问 localhost:8888 为我返回一个带有“Hello again”的网页 - 正如 Gant 所说,您在开发环境方面是否正确设置了它?【参考方案2】:您的请求回调范围内没有 request
或 response
对象。您需要将它们定义为回调函数的参数。
var http = require("http");
var server = http.createServer(function(request, response)
response.writeHead(200,
"content-Type" : "text/html"
);
response.end("Hello again");
).listen(8888);
您肯定会遇到错误 - 您确定您的 IDE 设置正确吗?
【讨论】:
我刚刚在eclipse上安装了enide插件【参考方案3】:你能告诉我你在哪里找到response
对象吗? http.createServer
返回一个有两个参数的回调函数。它们是response
和request
。响应用于向客户端发送数据/信息,请求用于从客户端获取数据/信息。因此,在您的 http.createServer
回调函数中添加响应和请求参数。之后在回调函数中使用response
对象。像这样。
var http = require("http");
var server = http.createServer(function(request, response)
response.writeHead(200,
"content-Type" : "text/html"
);
response.end("Hello again");
).listen(8888);
【讨论】:
以上是关于如何在 node.js 上运行项目的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 npm 安装在 node.js 项目上设置引导安装