【问题标题】:Need some clarification about NodeJs and Server需要一些关于 NodeJs 和服务器的说明
【发布时间】:2017-07-19 17:11:56
【问题描述】:

好的,所以这可能是一个非常愚蠢的问题,可能不适合堆栈溢出,但它会帮助我理解这一点。 所以我在教程中学习Nodejs...

现在我学习了如何创建服务器并在客户端执行请求时将某些内容发送回客户端,例如在他/她的浏览器中键入 URL。所以这就是我所做的:

var server = http.createServer(function(req,resp){
   resp.writeHead(200, {'Content-Type': 'text/html'});
   var page = fs.readFileSync('index.html', 'utf8');
   resp.end(text);
});

另外,老师使用 express.js 从用户那里获取请求的其他实例如下:

app.get('/', function(req, resp){
   res.render('index');
});

好的,所以这可能是糟糕的编码,但你明白了。现在,我的愚蠢问题是: 我为什么要创建这个服务器和这个对客户端的响应,因为如果我在浏览器上输入http://127.0.0.1:8888/index.html 它已经加载了我的 HTML 页面并显示它的内容?我有一个实时网站,我在其中使用 hostgator 获取我的域并托管我的网站,我不需要在 Nodejs 中设置服务器来发出访问页面的请求。

如果有人能向我解释为什么我应该在 nodejs 中使用该代码,我会很高兴

【问题讨论】:

  • 澄清一下——在启动节点应用程序之前,您的 HTML 页面是否在 localhost 上加载?
  • 您的计算机上正在运行另一个 Web 服务器。如果您对此感到满意,那么不,您可能不需要创建另一个。
  • 不,路由是127.0.0.1:8888/。您配置了'/' 路由,因此它将匹配'/',而不是'/index.html'

标签: javascript node.js server


【解决方案1】:

如果您希望能够编写 JavaScript 以确定服务器如何响应给定请求(例如动态生成页面或通过网络套接字)。这将替换您正在使用的现有 HTTP 服务器。

如果您只是提供静态文件,那么做如此复杂的事情毫无意义……但是学习如何提供静态文件是学习基础知识的一种方式。

【讨论】:

  • 非常感谢昆汀!还有一件事,如果我要在后端代码中放置一个带有 hostgator 的网站(或任何其他托管公司),我应该在 app.listen() 中放置什么端口;打开后端服务器?
  • 视情况而定。 Node.js 服务器应用程序的部署不仅仅是将它们推到服务器上的问题。有很多问题需要考虑,例如“您是否直接公开它?”,“您是否使用前端代理?”。有很长的文章讨论了部署它们的不同方法。
【解决方案2】:

答案是:视情况而定。

如果你只想渲染你的 index.html 文件,Node.js 被过度使用了。

您将使用 Node.js 和路由来创建一个 RESTful API、一些从数据库返回数据的 Web 服务等等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-09-28
    • 1970-01-01
    • 2019-05-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-14
    相关资源
    最近更新 更多