7

我有一个本地静态 Javascript 文件,我想在站点范围内包含这些文件。最好我希望将所有静态 Javascript 文件合并到一个文件中,但我想分别管理这些文件。Yesod 项目中应该在哪里包含静态 Javascript 文件?

4

2 回答 2

13

有一个更具体的解决方案。

样本:

import Yesod.Widget (addScript)

-- given a file path of static/js/my-script.js

addScript $ StaticR js_my_script_js

如果您的项目已部分编译,您可能会收到如下错误:

Foundation.hs:...: Not in scope: `js_my_script_js'

然后要么

  • unix touch通过调用 staticFiles 生成路由符号的 StaticFiles.hs 模块

  • 或者清理你的构建并重建它,它就会消失。

干杯!

您也可以在我/(您的)维基百科文章中了解它。随意更正并完成它。

于 2012-11-05T17:29:36.737 回答
2

您可以addWidgetdefaultLayout函数中使用将其添加到小部件中,这些小部件组合成一个文件。

例如,

defaultLayout widget = do
    ...
    pc <- widgetToPageContent $ do
        $(widgetFile "mywidget")
        ... other stuff here ...    

    ...

现在,只需将一个名为模板的文件放入mywidget.julius模板目录,它就会自动包含在所有页面中。

于 2012-11-04T11:26:12.943 回答