<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                OK,就像我保證過的那樣,我們現在可以回到我們如何組織應用這個問題上了。我們現在在?_server.js_?文件中有一個非常基礎的HTTP服務器代碼,而且我提到通常我們會有一個叫?_index.js_?的文件去調用應用的其他模塊(比如?_server.js_?中的HTTP服務器模塊)來引導和啟動應用。 我們現在就來談談怎么把server.js變成一個真正的Node.js模塊,使它可以被我們(還沒動工)的?_index.js_?主文件使用。 也許你已經注意到,我們已經在代碼中使用了模塊了。像這樣: ~~~ var http = require("http"); ... http.createServer(...); ~~~ Node.js中自帶了一個叫做“http”的模塊,我們在我們的代碼中請求它并把返回值賦給一個本地變量。 這把我們的本地變量變成了一個擁有所有?_http_?模塊所提供的公共方法的對象。 給這種本地變量起一個和模塊名稱一樣的名字是一種慣例,但是你也可以按照自己的喜好來: ~~~ var foo = require("http"); ... foo.createServer(...); ~~~ 很好,怎么使用Node.js內部模塊已經很清楚了。我們怎么創建自己的模塊,又怎么使用它呢? 等我們把?_server.js_?變成一個真正的模塊,你就能搞明白了。 事實上,我們不用做太多的修改。把某段代碼變成模塊意味著我們需要把我們希望提供其功能的部分?_導出_?到請求這個模塊的腳本。 目前,我們的HTTP服務器需要導出的功能非常簡單,因為請求服務器模塊的腳本僅僅是需要啟動服務器而已。 我們把我們的服務器腳本放到一個叫做?_start_?的函數里,然后我們會導出這個函數。 ~~~ var http = require("http"); function start() {? function onRequest(request, response) { ? ? console.log("Request received."); ? ? response.writeHead(200, {"Content-Type": "text/plain"}); ? ? response.write("Hello World"); ? ? response.end();? } ? http.createServer(onRequest).listen(8888); ? console.log("Server has started."); } exports.start = start; ~~~ 這樣,我們現在就可以創建我們的主文件?_index.js_?并在其中啟動我們的HTTP了,雖然服務器的代碼還在?_server.js_?中。 創建?_index.js_?文件并寫入以下內容: ~~~ var server = require("./server"); server.start(); ~~~ 正如你所看到的,我們可以像使用任何其他的內置模塊一樣使用server模塊:請求這個文件并把它指向一個變量,其中已導出的函數就可以被我們使用了。 好了。我們現在就可以從我們的主要腳本啟動我們的的應用了,而它還是老樣子: ~~~ node index.js ~~~ 非常好,我們現在可以把我們的應用的不同部分放入不同的文件里,并且通過生成模塊的方式把它們連接到一起了。 我們仍然只擁有整個應用的最初部分:我們可以接收HTTP請求。但是我們得做點什么——對于不同的URL請求,服務器應該有不同的反應。 對于一個非常簡單的應用來說,你可以直接在回調函數?_onRequest()_?中做這件事情。不過就像我說過的,我們應該加入一些抽象的元素,讓我們的例子變得更有趣一點兒。 處理不同的HTTP請求在我們的代碼中是一個不同的部分,叫做“路由選擇”——那么,我們接下來就創造一個叫做?_路由_?的模塊吧。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看