【发布时间】:2013-11-21 11:43:15
【问题描述】:
我正在为grunt-assemble grunt 任务配置苦苦挣扎,看起来像这样:
assemble: {
options: {
flatten: false,
expand: true,
assets: '',
layout: 'default.hbs',
layoutdir: 'templates/layouts',
partials: ['templates/includes/*.hbs'],
helpers: ['templates/helpers/*.js'],
data: ['templates/data/*.{json,yml}']
},
dev: {
src: 'templates/pages/**/*.hbs',
dest: 'build/'
}
assemble.io 的项目模板的脚手架如下所示:
templates
├── helpers
├── includes
│ ├── page-footer.hbs
│ ├── page-header.hbs
│ └── scripts.hbs
├── layouts
│ └── default.hbs
└── pages
├── en
│ └── index.hbs
├── fr
│ └── index.hbs
└── index.hbs
我的愿望是得到类似的东西:
build
├── en
│ └── index.html
├── fr
│ └── index.html
└── index.html
但是我得到了类似的东西:
build
└── templates
└── pages
├── en
│ └── index.html
├── fr
│ └── index.html
└── index.html
我确实尝试了一些(实际上很多)组合(使用 flatten 和 expand 以及 cwd 选项),但我被卡住了。
使用flatten 会导致index.html 文件相互覆盖。
所以我实际上是在 .tmp 目录中进行渲染,然后将文件移动到 build 目录中。
我不喜欢那个解决方案,因为那时page.assets 仍然损坏(它的值将是../../..,对于根index.html)。
【问题讨论】:
标签: gruntjs assemble grunt-assemble