使用 Grails CDN Asset Pipeline Plugin 获取资产时没有附加哈希码
assets are fetched without the hash code appended while using Grails CDN Asset Pipeline Plugin
我最近在我的项目中配置了这个插件。我的 S3 存储桶中的资产在上传时附加了一些随机哈希码。但是,在检索它们时,哈希码不会附加在请求中。结果它在控制台中显示资源未找到错误。
我正在使用 Asset Pipeline 2.1.1.
创建war文件时,asset pipeline plugin在资产文件名末尾添加哈希值。所以 run-app
或 prod run-app
不会帮助你,因为 war 不是为这些命令创建的。
为此,您可以使用 run-war
或 prod run-war
命令。否则你必须创建 war 并在外部部署 tomcat.
如果您查看 documentation of grails cdn asset pipeline plugin,它显示
grails.assets.url = "https://s3.amazonaws.com/my-bucket/assets/${appName}-${appVersion}"
但这应该只用于生产模式,不能用于开发模式。取自 asset pipeline plugin 的示例:
environments {
production {
grails.assets.url = "http://s3.amazonaws.com/asset-pipe/assets/"
}
}
我最近在我的项目中配置了这个插件。我的 S3 存储桶中的资产在上传时附加了一些随机哈希码。但是,在检索它们时,哈希码不会附加在请求中。结果它在控制台中显示资源未找到错误。 我正在使用 Asset Pipeline 2.1.1.
创建war文件时,asset pipeline plugin在资产文件名末尾添加哈希值。所以 run-app
或 prod run-app
不会帮助你,因为 war 不是为这些命令创建的。
为此,您可以使用 run-war
或 prod run-war
命令。否则你必须创建 war 并在外部部署 tomcat.
如果您查看 documentation of grails cdn asset pipeline plugin,它显示
grails.assets.url = "https://s3.amazonaws.com/my-bucket/assets/${appName}-${appVersion}"
但这应该只用于生产模式,不能用于开发模式。取自 asset pipeline plugin 的示例:
environments {
production {
grails.assets.url = "http://s3.amazonaws.com/asset-pipe/assets/"
}
}