如何在 Brunch 插件中重命名最终生成的文件?
How to rename the final generated file in a Brunch plugin?
我正在为 BrunchJS 开发一个插件,但我不是很了解。
https://github.com/dlepaux/fingerprint-brunch
灵感来自 github.com/mutewinter/digest-brunch
和 github.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
和大量代码来涵盖所有边缘情况。
这应该可以解决问题。
我正在为 BrunchJS 开发一个插件,但我不是很了解。
https://github.com/dlepaux/fingerprint-brunch
灵感来自 github.com/mutewinter/digest-brunch
和 github.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
和大量代码来涵盖所有边缘情况。
这应该可以解决问题。