我正在尝试在我的 mustache 模板文件中包含一个 JS 脚本。
<html>
<head>
<script id="{{app.js}}" type="text/mustache"></script>
</head>
<body>
<div>
Users:
<ul>
{{#users}}
<li>{{name}}</li>
{{/users}}
</ul>
</div>
</body>
</html>
它位于src/main/resources/templates/users.mustache
。我也有一个 JS 脚本src/main/resources/public/app.js
。
关于后端的几句话。我正在使用Finatra
支持 Mustache 的框架:
get("/users") {
req: Request => {
response.ok.view("/users.mustache", Users)
}
}
所以这是我的问题。如何将 JS 脚本添加到我的 Mustache 模板?
UPD
我也尝试使用
<script src='{{path}}/public/app.js' type='text/javascript'></script>
但我的应用仍然看不到脚本。
UPD2(感谢@nuc)
我没有找到任何好的解决方案,但只有这个:
get("/public/:*") {
req: Request => {
req.params.get("*") match {
case Some(fn) =>
val file = new File("/Users/fink/projects/finatra-demo/src/main/resources/public/" + fn)
response.ok.file(file)
case None => {
response.notFound("Oh no!")
}
}
}
}
我将所有资产放置在
src/main/resources/public/*
在我看来应该是<script src='/public/js/app.js' type='text/javascript'></script>