configurationBrunch从一个模板文件输出多个HTML / JS文件的正确方法是什么?
这是我的情况 – 我有多个广告单元可供创build,每个广告单元的大小和animation都不相同。
我试图运行一个单一的早午餐手表服务器来处理以下内容:
- 执行一些预处理 (即:使用TexturePacker发布CSS / LESS和PNG地图集)。
- 将app / assets / index.html的内容复制到临时文件/缓冲区(因为它使用了几个
{{handle-bar-like}}
占位符标签来replace每个文件的configuration。 - replace宽度,高度,边框宽度,边框高度,标题和文件名等占位符标记。
- 使用临时文件/缓冲区(将这个JS和CSS粘贴到来自模板index.html文件的相应注释行中)内嵌到该广告的JS&CSS(位于
app/en_???x???_etc/
) 。 - 执行一些后处理 (即:stringreplace/清理等)
我的困境是,我不确定我应该在哪里写configuration和文件和文件夹查找代码。
我可以直接在brunch-config.js
放置一些代码,然后再定义module.exports
对象(或者在configuration文件被定义之前把它放在一个单独的文件中,configuration文件requires(...)
)?
那么定义前后程序调用呢? 我知道afterBrunch
和afterBrunch
存在,但我不确定是否会在每个index.html文件复制之前或之后被调用,或者在所有事情之前和复制之前(如果这是有道理的)。 而为了使事情更加复杂,每个前后处理调用可能需要略微不同,以提供每个JS,CSS,atlas.png输出的文件名。
我已经完成了与Haxe(在这种情况下充当命令行伴侣)类似的设置,但是如果我可以缩小此工作stream程以仅使用NodeJS / NPM模块,它将使我的客户的生活与他们分享项目时更容易。
谢谢!
早午餐贡献在这里。 是的,你可以把你的代码放在你的brunch-config中。 beforeBrunch/afterBrunch
插件用于运行shell命令。 如果你想运行自己的代码,只需使用早午餐的preCompile
/ onCompile
callback。 在编译/复制任何内容之前调用preCompile
, onCompile
编译onCompile
所有内容并将资源复制到公共目录后运行。
我不确定我是否完全理解你的stream程,但这绝对是可能的:
- 使用
preCompile
callback和/或preCompile
插件将app/assets/index.html
复制到每个广告的app/something/template.hbs
- 使用
static-handlebars-brunch
的修改版本(另外传递一个文件path或其他东西到上下文getter函数,因为这个不这样做) - 使用
onCompile
callback和/或afterBrunch
插件内联样式表,并做任何你可能需要的东西
你认为这是适合你的情况吗? 我错过了什么?
我不得不承认,在复杂的工作stream程场景中,早午餐可能不是最佳的解决scheme,因为它本身简单,但是对于大多数常见的前端开发用例来说,它是非常棒的。