大家好吗!我正在使用grunt-compile-handlebars建立一个静态的html网站,并且遇到与我要构建目录的方式有关的问题。
要提供一些上下文,请使用以下目录结构和Gruntfile正常运行
:目录
package.json
dist/
Gruntfile.js
src/
partials/
partial.handlebars
views/
thing1.handlebars
thing1.json
thing2.handlebars
thing2.json
Gruntfile
module.exports = function(grunt) {
grunt.initConfig({
jshint: {
files: ['Gruntfile.js', 'src/**/*.js', 'test/**/*.js'],
options: {
globals: {
jQuery: true
}
}
},
watch: {
files: ['./src/*', './static/*'],
tasks: ['compile-handlebars']
},
'compile-handlebars': {
compileRootTemplates: {
files: [{
expand: true,
cwd: './src/views/',
src: '*.handlebars',
dest: './dist/',
ext: '.html'
}],
templateData: './src/views/*.json',
partials: './src/partials/*.handlebars'
},
});
grunt.loadNpmTasks('grunt-compile-handlebars');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', ['compile-handlebars']);
};
但是,我理想的情况是删除/views
目录,并在其位置上为/templates
文件创建一个.handlebars
文件夹,并为其中一个创建一个/data
文件夹.json
个文件。但是,当我这样做时,然后还要对我的Gruntfile进行以下调整:
...
'compile-handlebars': {
compileRootTemplates: {
files: [{
expand: true,
cwd: './src/templates/',
src: '*.handlebars',
dest: './dist/',
ext: '.html'
}],
templateData: './src/data/*.json',
partials: './src/partials/*.handlebars'
},
});
...
编译器成功提取了分部,但无法使用数据更新任何车把表达式,而留空白。例如。 .handlebars文件中的/styles/{{stylesheet}}.css
在已编译的html中变成/styles/.css
。
关于为什么这样不起作用的任何想法?查看README中的grunt-compile-handlebars似乎建议这样做,尤其是因为作者在示例Gruntfile中使用了/**/*.handlebars
之类的/**/*.json
之类的glob。任何帮助表示感谢,谢谢!