我正在使用sails.js资产链接器。
我通过在其中添加一个资产版本来对资产进行版本控制,如下所示:
assetfile.js?=<%= assetVersion %>
不幸的是,这个不能工作,因为js文件名被链接器替换了!
sails.js链接器支持这方面的工作吗?还是我自己一个人去黑那个咕噜的文件?
发布于 2014-12-23 18:13:51
如果您是从git存储库托管的,则可以使用git commit sha来识别版本。
我在我的一个项目中使用了这种方法,它包括将以下内容作为rename.js添加到tasks/config中
var git = require('git-rev')
module.exports = function(grunt) {
git.short(function(hash) {
var files = {
'.tmp/public/min/production.' + hash + '.min.js': '.tmp/public/min/production.min.js',
'.tmp/public/min/production.' + hash + '.min.css': '.tmp/public/min/production.min.css'
}
grunt.config.set('rename', {
dist: {
files: files
}
})
})
grunt.loadNpmTasks('grunt-rename')
};然后在链接器任务之前的tasks/register/prod.js中添加重命名任务。
发布于 2015-01-27 16:41:47
基于@CaseyWebb的解决方案,我们扩展了sails应用程序,以解决带有时间戳的版本控制问题。这里还有一个非常详细的博客文章:https://naya.com.np/post/391862c0520b5b5632e99e812749a85b
https://stackoverflow.com/questions/23926418
复制相似问题