為什么express中打開服務端只用listen即可


為什么express中打開服務端只用listen即可:
http.createServer(app).listen()與app.listen()的區別

寫法一:
        

var app = require('express')();

        

app.listen(port)


寫法二:
        

var app = require('express')();

        

var http = require('http').createServer(app);

        

http.listen(port);



為何可以這樣寫?

因為listen的源碼是:
/* listen源碼
 var http = require('http');
 app.listen = function listen() {
 var server = http.createServer(this);
 return server.listen.apply(server, arguments);
 };
*
* */

        


app.listen = function (port) {

        

  http.createServer(this).listen(port);

所以,當你想要設置host的時候,使用createServer來設置服務端就行,然后就可以listen(8081,’host’).但是其實沒有什么作用,host這里能寫的也就幾個值,0.0.0.0/127.0.0.1/localhost/本地IP,如果寫其他的會報錯。127.0.0.1/localhost就意味着只能在你本機調用這個服務器,但是如果你不設置,基本上就是本機,外機都可以調用。0.0.0.0就是給外機調用的

        



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM