捕捉静态javascript文件位置

时间:2012-12-03 15:38:44

标签: haskell haskell-snap-framework

在抢劫模板中将静态内容链接起来时,静态内容的搜索规则是什么? 我遇到了一些与找不到javascript文件有关的问题。

因此,当提供的URL是/ index时,将“myjavascript.js”和“jquery.js”粘贴到“static”目录的根目录似乎正在工作。如果URL是/ something / index,则无法在“static”目录的根目录中找到我的javascript文件。所以把它们放在“静态/某种东西”中会修复它。无论如何,我最终在我的地方洒了我的javascript文件的副本,以便可以在不同的URL字符串下找到它们。 因此,我要么使用错误的位置,要么模板中的链接不正确。

鉴于链接<script type="text/javascript" src="/js/jquery.js"> </script>它在哪里寻找文件?那么src="jquery.js"呢?

如果我将文件放在“static / js”下,我也会从javascript控制台获得这些类型的错误:

Resource interpreted as Script but transferred with MIME type text/html: "http://0.0.0.0:8000/js/jquery.js". new:6
Uncaught SyntaxError: Unexpected token < :8000/js/jquery.js:1
Resource interpreted as Script but transferred with MIME type text/html: "http://0.0.0.0:8000/js/base.js". new:6
Uncaught SyntaxError: Unexpected token < 

感谢。

1 个答案:

答案 0 :(得分:3)

这完全取决于您如何定义路线。我通常把我的javascript放在static / js,resources / js或resources / static / js中,但任何位置都没问题。关键是如何路由该目录。你可能有这样的路线:

(“static”,serveDirectory“resources / static”)

这意味着如果您在resources / static目录中有jquery.js,那么它将在url http://localhost:8000/static/jquery.js处可用。这意味着您将src="/static/jquery.js"放在脚本标记中。路由元组的第一部分确定URL路径,元组的第二部分确定本地文件系统上的目录。