Node.js sails.js资产版本控制

Node.js sails.js资产版本控制,node.js,sails.js,Node.js,Sails.js,我正在使用sails.js资产链接器 我通过在资产中添加资产版本来对资产进行版本控制,如下所示: assetfile.js?= 不幸的是,这个不起作用,因为js文件名被链接器替换了 sails.js链接器是否支持解决此问题?还是让我自己去破解grunt文件?如果您是从git存储库托管的,您可以使用git提交sha来识别版本 我在我的一个项目中使用了这种方法,它包括将以下内容作为rename.js添加到tasks/config var git = require('git-rev') modul

我正在使用sails.js资产链接器

我通过在资产中添加资产版本来对资产进行版本控制,如下所示:

assetfile.js?=

不幸的是,这个不起作用,因为js文件名被链接器替换了


sails.js链接器是否支持解决此问题?还是让我自己去破解grunt文件?

如果您是从git存储库托管的,您可以使用git提交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
中添加重命名任务。

基于@CaseyWebb的解决方案,我们扩展了sails应用程序,以解决带有时间戳的版本控制问题。这里还有一篇非常详细的博客文章:

Sails没有对资产版本控制的本机支持。但是,咕噜声文件是要被黑客入侵的。如果你想出了一个好的解决方案,把它作为一个答案发布给其他人分享@sgress454见下面我的答案,可能有帮助吗