sails.js资产版本控制

Sec*_*ret 6 node.js sails.js

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

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

assetfile.js?=<%= assetVersion %>

不幸的是,这不起作用,因为js文件名正被链接器取代!

sails.js链接器是否支持解决此问题?还是我自己离开了攻击grunt文件?

cas*_*ebb 6

如果您从git存储库托管,则可以使用git commit sha来标识版本.

我用这个方法在我的项目之一,它由加入以下作为的rename.jstasks/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')

};
Run Code Online (Sandbox Code Playgroud)

然后tasks/register/prod.js在链接器任务之前添加重命名任务.


pew*_*ers 5

基于@CaseyWebb的解决方案,我们扩展了sails应用程序以解决带有时间戳的版本控制问题。这里还有一个非常详细的博客条目:https : //naya.com.np/post/391862c0520b5b5632e99e812749a85b