我们正在开发一个组装项目,它需要一些共享布局和一些自定义布局。
最初,我们有一个默认页面的目的地。现在我们打破了这一点,这样每个品牌/网站都有自己的分发文件夹。
我的问题是--在我们解决问题之前,所有的东西都是正确组装的。现在我们有了多个发行版,事情变得有点令人困惑:)
当前设置:
模板
|-- templates
| |-- _default
| | |--includes
| | |--layouts
| | |--pages
| |-- brand 1
| | |--includes
| | |--layouts
| | |--pages
| |-- brand 2
| | |--includes
| | |--layouts
| | |--pages我们的组装任务:
assemble: {
options: {
flatten: true,
production: false,
postprocess: require('pretty'),
// Metadata
pkg: '<%= pkg %>',
site: '<%= site %>',
// Templates
// partials: '<%= site.includes %>',
// layoutdir: '<%= site.layouts %>',
// layout: '<%= site.layout %>'
},
brand1: {
files: {'<%= site.justin %>/': ['<%= site.templates %>/justin/**/*.hbs']}
},
brand2: {
files: {'<%= site.jow %>/': ['<%= site.templates %>/jow/**/*.hbs']}
},
tonylama: {
files: {'<%= site.tonylama %>/': ['<%= site.templates %>/tonylama/**/*.hbs']}
},
brand3: {
files: {'<%= site.nocona %>/': ['<%= site.templates %>/nocona/**/*.hbs']}
},
brand4: {
files: {'<%= site.chippewa %>/': ['<%= site.templates %>/chippewa/**/*.hbs']}
}
}因此,问题就变成了--我们如何成功地组装成多个发行版?您可以放置options并指向它们各自的布局和包含内容吗?
当我运行grunt assemble:brandname时,我得到一个错误Warning: Layout file (forgot-password.hbs) not found
发布于 2014-06-24 01:21:04
最明显的错误就是你的布局被注释掉了。除此之外,您应该能够执行以下操作:
assemble: {
options: {
flatten: true,
production: false,
postprocess: require('pretty'),
// Metadata
pkg: '<%= pkg %>',
site: '<%= site %>',
// Templates
partials: '<%= site.includes %>',
layoutdir: '<%= site.layouts %>',
layout: '<%= site.layout %>'
},
justin: {
options: {layout: 'justin/layout.hbs'},
files: {
'<%= site.justin %>/': ['<%= site.templates %>/justin/**/*.hbs']
}
},
jow: {
options: {layout: 'jow/layout.hbs'},
files: {
'<%= site.jow %>/': ['<%= site.templates %>/jow/**/*.hbs']
}
},
tonylama: {
options: {layout: 'tonylama/layout.hbs'},
files: {
'<%= site.tonylama %>/': ['<%= site.templates %>/tonylama/**/*.hbs']
}
},
nocona: {
options: {layout: 'nocona/layout.hbs'},
files: {
'<%= site.nocona %>/': ['<%= site.templates %>/nocona/**/*.hbs']
}
},
chippewa: {
options: {layout: 'chippewa/layout.hbs'},
files: {
'<%= site.chippewa %>/': ['<%= site.templates %>/chippewa/**/*.hbs']
}
}
}也就是说,随着规模的扩大,它将变得更加难以管理-正如您所预期的那样。另一种选择是创建一个插件,为每个品牌自动生成一个“目标”(http://gruntjs.com/configuring-tasks#task-configuration-and-targets)。
发布于 2014-06-24 02:04:30
使用目标中的选项,我能够修复错误并推送到多个dist文件夹。
assemble: {
options: {
flatten: true,
production: false,
postprocess: require('pretty'),
// Metadata
pkg: '<%= pkg %>',
site: '<%= site %>',
},
brand: {
options: {
//Template Config
partials: '<%= site.brandIncl %>',
layoutdir: '<%= site.brandLayouts %>',
layout: '<%= site.brandLayout %>'
},
files: {'<%= site.brand %>/': ['<%= site.templates %>/brand/pages/*.hbs']}
}https://stackoverflow.com/questions/24370898
复制相似问题