我有一个本地静态 Javascript 文件,我想在站点范围内包含这些文件。最好我希望将所有静态 Javascript 文件合并到一个文件中,但我想分别管理这些文件。Yesod 项目中应该在哪里包含静态 Javascript 文件?
问问题
1302 次
2 回答
13
有一个更具体的解决方案。
''static/js'' 有一个静态 Javascript 文件的文件夹。
Javascript 有一个更具体的小部件命令:addScript
对于每个静态文件,静态子站点生成一个“::Route Static”符号,替换非标识符字符“/-”。在“静态/”的文件路径中带有“_”。
样本:
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
您可以addWidget
在defaultLayout
函数中使用将其添加到小部件中,这些小部件组合成一个文件。
例如,
defaultLayout widget = do
...
pc <- widgetToPageContent $ do
$(widgetFile "mywidget")
... other stuff here ...
...
现在,只需将一个名为模板的文件放入mywidget.julius
模板目录,它就会自动包含在所有页面中。
于 2012-11-04T11:26:12.943 回答