Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 为什么将http模块与express模块​​结合使用大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
大家好,我是节点js的新手,并开始研究和研究一些教程.我只想更好地理解或澄清我的怀疑.所以我遇到了内置的模块http.这有助于创建基本Web服务器.现在,express模块​​是一个构建在http模块顶部的Web框架,可以轻松使用完全嵌入的Web服务器而无需重新发明轮子.现在我遇到了这段代码

var express = require( 'express' ),http = require("http")
http.createServer( options,function(req,res)
{
  app.handle( req,res );
 } ).listen(8080);

但在快递中,人们可以简单地做到这一点

var express = require('express');
 var app = express();
 app.listen(8080,function() {
  console.log('Listening on ' + 8080);});

两者有什么区别?他们俩都没有完成同样的事情.如果不是,使用第一种方法的区别和优势是什么.应该遵循第一种方法,因为它是一种很好的编程习惯.这是我的疑问,因为我只是想要清楚地了解是否存在任何差异.

解决方法

没有理由使用http模块创建自己的http服务器. Express会用app.listen()为你做这件事就好了,并保存你一点点打字.

如果您要创建https服务器,则需要使用https模块并将安全凭据传递给https.createServer(…)以创建正确配置的服务器. Express无法自动为您创建正确配置的https服务器.

如果你看一下Express code in GitHub for app.listen(),它会显示

app.listen = function listen() {
  var server = http.createServer(this);
  return server.listen.apply(server,arguments);
};

因此,当您使用app.listen()或创建自己的http服务器然后使用app作为该服务器的侦听器时,确实没有区别(除了少一点打字).

因此,这两个代码片段在功能上是相同的:

var app = require('express')();
app.listen(8080);

app.get('/',res) {
    res.send("Hello");       
});

上面的代码功能上与:

var http = require('http');
var app = require('express')();
http.createServer(app).listen(8080);

app.get('/',res) {
    res.send("Hello");       
});

当然,如果您尝试设置https服务器或向.createServer()方法添加自定义选项,那么您将首先设置自己的服务器,然后将app作为侦听器传递给它.当认的http.createServer()工作正常时,app.listen(…)只是一个快捷方式.

大佬总结

以上是大佬教程为你收集整理的node.js – 为什么将http模块与express模块​​结合使用全部内容,希望文章能够帮你解决node.js – 为什么将http模块与express模块​​结合使用所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。