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

时间:2015-07-22 14:23:31

标签: plugins fingerprint brunch

我正在为BrunchJS开发一个插件而我并不了解所有内容。

https://github.com/dlepaux/fingerprint-brunchgithub.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

我很困惑..

谢谢

1 个答案:

答案 0 :(得分:-2)

看一下插件digest-brunch的方法:https://github.com/mutewinter/digest-brunch

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

这应该可以解决问题。