1. 程式人生 > >Haskell之Yesod開發–邊踩坑邊開發(2.1)

Haskell之Yesod開發–邊踩坑邊開發(2.1)

按照書上第八章的內容,我們來建立一個表單。

程式碼無誤,但是有一點,預設的庫使用了Google的CDN。這在大區域網當然沒法用。我們來改造一下

首先我們要搞定自己的靜態資源(如果你有CDN,可以跳過這裡)

1.安裝yesod-static

安裝過程會提示有些庫找不到,可以一個個的手動安裝,一定可以成功的

2.讓程式碼識別出我們的靜態資料夾

參看Haskell之Yesod開發–邊踩坑邊開發(2)


接下來我們修補一下靜態檔案

1.複製我們需要的檔案到static資料夾

分別是jquery.min.js jquery-ui.css   jquery-ui.min.js

當然你可以增加其他的供自己使用

2.然後修補程式碼

instance YesodJquery App where
    --urlJqueryJs :: App -> Either (Route App) Text
    urlJqueryJs _ = Right "/static/jquery.min.js"

    --urlJqueryUiJs :: App -> Either (Route App) Text
    urlJqueryUiJs _ = Right "/static/jquery-ui.min.js"

    --urlJqueryUiCss :: App -> Either (Route App) Text
    urlJqueryUiCss _ = Right "/static/jquery-ui.css"
具體解釋看這裡 https://github.com/yesodweb/yesod/blob/master/yesod-form/Yesod/Form/Jquery.hs

我這裡偷懶了一下,沒有修補googleHostedJqueryUiCss

最後 cabal run 。嗯!表單很快就顯示了