Playframework Play Framework未拾取Javascript和CSS中的最新更改

Playframework Play Framework未拾取Javascript和CSS中的最新更改,playframework,Playframework,每当我对CSS文件进行更改时,Play framework都不会选择最新的文件。它似乎缓存了一个旧版本并一直在使用它。我如何强制文件应该从服务器而不是从浏览器缓存(或者从任何它从中拾取css、javascript文件的地方)拾取 我正在本地计算机上运行服务器,并使用localhost:9000访问服务器您需要使用版本化资产。确保在路由中使用控制器.Assets.versioned: GET /assets/*file controllers.Assets.ve

每当我对CSS文件进行更改时,Play framework都不会选择最新的文件。它似乎缓存了一个旧版本并一直在使用它。我如何强制文件应该从服务器而不是从浏览器缓存(或者从任何它从中拾取css、javascript文件的地方)拾取


我正在本地计算机上运行服务器,并使用localhost:9000访问服务器

您需要使用版本化资产。确保在路由中使用
控制器.Assets.versioned

GET     /assets/*file               controllers.Assets.versioned(path="/public", file: Asset)
在HTML模板中:

<script src="@routes.Assets.versioned("javascripts/hello.js")" type="text/javascript"></script>
您还需要在
project\plugins.sbt
中启用
digist
插件

addSbtPlugin("com.typesafe.sbt" % "sbt-digest" % "1.1.1")
生成的HTML:

<script src="/assets/javascripts/a7c0637aa0972b62ef0c436a66be57b1-hello.js" type="text/javascript"></script>

所以它不会有缓存问题,因为每次更新文件后,文件名都是新的


您确定不是浏览器缓存本地资源吗?谢谢我在玩2.2.6,sbt 0.13.0。之前我使用的是
。我把它改成了
。在build.sbt和plugins.sbt中也进行了更改。但是我的Javascript没有加载。我认为
pipelineStages
没有为我正在使用的play版本定义。你是对的-我的帖子不够清晰,所以请返回你的更改。我仍然认为您的版本化管道无法正常工作。
<script src="/assets/javascripts/a7c0637aa0972b62ef0c436a66be57b1-hello.js" type="text/javascript"></script>