如何在 Brunch 插件中重命名最终生成的文件?

How to rename the final generated file in a Brunch plugin?

我正在为 BrunchJS 开发一个插件,但我不是很了解。

https://github.com/dlepaux/fingerprint-brunch 灵感来自 github.com/mutewinter/digest-brunchgithub.com/jgallen23/grunt-hash

概念: 重命名输出文件名并使用密钥将其写入清单(以获取真实文件名)。

例子: 在这个配置文件中,我想制作一个 /js/master.js 文件。

这个插件的目标是像这样重命名这个文件名:master.[hash].js

接下来将此写在清单中:{'/js/master.js' : '/js/master.[hash].js'}

我希望你能帮助我理解我该怎么做。

exports.config =
  paths:
    public: './../public'
    compass: './config.rb'
    watched: ['app']

  files:
    javascripts:
      joinTo: 
        '/js/master.js': /^(bower_components[\/\]bootstrap-sass-twbs|bower_components[\/\]bootstrap-datepicker|app)/

        #'/js/vendor/response.js': /^(bower_components[\/\]responsejs)/
        #'/js/vendor/head.min.js': /^(bower_components[\/\]headjs)/
        #'/js/vendor/jquery.min.js': /^(bower_components[\/\]jquery)/
        #'/js/vendor/media.match.min.js': /^(bower_components[\/\]media-match)/

  modules:
    wrapper: false
    definition: false

  conventions:
    # we don't want javascripts in asset folders to be copied like the one in 
    # the bootstrap assets folder
    assets: /assets[\/](?!javascripts)/

  plugins:
    cleancss:
      keepSpecialComments: 0
      removeEmpty: true
    sass:
      debug: 'comments' # or set to 'debug' for the FireSass-style output
    fingerprint:
      manifest: '../../assssssets.json'
      targets: ['/js/master.js']

在此配置文件中,在底部,您会看到 fingerprint,在这里您将设置要散列的 config.files 中的哪个文件,因为我想您不会放什么散列无处不在!

我现在的问题是,我不知道如何重命名最终文件...那么我该怎么做呢? - 通过重命名最终文件? - 通过复制 master.js(生成的)并将其重命名为 ?

我必须在 onCompile 函数中完成所有这些吗?或拆解(最后)?

我只有这个文档:github.com/brunch/brunch/blob/stable/docs/plugins.md

我很困惑..

谢谢

看看插件的做法digest-brunch:https://github.com/mutewinter/digest-brunch

它使用 onCompile 和大量代码来涵盖所有边缘情况。

这应该可以解决问题。