grunt-contrib-connect middleware 設定筆記

如果需要對grunt-contrib-connect(以下簡稱connect)做一些特殊需求的設定,connect提供自訂middleware來應付彈性的需求。有一點需要特別注意,設定了middleware之後,所有的middleware都要手動載入,最直接可見的改變是"serve static file"和"directory browsable"這兩個middleware。"serve static file"是否允許直接存取靜態檔案,但我發現javascript檔案並不在此限;"directory browsable"就是能否直接在瀏覽器上瀏覽目錄。

要載入這兩個middleware可以加入這兩項
function(connect, options) {
  return [
    // Serve static files.
    connect.static(options.base),
    // Make empty directories browsable.
    connect.directory(options.base)
  ];
}

connect的行為會根據middleware的載入順序,如果你有加裝其他的connect middleware,例如:grunt-connect-rewrite,載入順序就很重要,於下一篇文章再來談grunt-connect-rewrite。

如果要自己寫middleware,每個middleware都是一個含有三個參數的Function。
function (req, res, next) {...}

記得要再最後呼叫next,不然connect不會繼續執行下一個middleware。

參考:
https://github.com/gruntjs/grunt-contrib-connect

留言

熱門文章