当前位置: 首页 > 工具软件 > Yesod > 使用案例 >

Haskell之Yesod开发–边踩坑边开发(2.1)

艾俊晖
2023-12-01

按照书上第八章的内容,我们来创建一个表单。

代码无误,但是有一点,默认的库使用了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 。嗯!表单很快就显示了

 类似资料: