我需要安装什么才能使其正常工作?我有一个看起来像这样的结构
在我的index.html中,我(我将头部包含在jQuery中)
<body>
<div id="front-page"></div>
<script src="build/scripts/templates.js" type="text/javascript"></script>
<script src="build/scripts/handlebars.js" type="text/javascript"></script>
<script src="build/scripts/main.js" type="text/javascript"></script>
<script src="build/scripts/svg-to-inline.js" type="text/javascript"></script>
</body>
在我的gulpfile.js中我有
// Handlebars
gulp.task('templates', function(){
gulp.src('templates/*.html')
.pipe(handlebars())
.pipe(wrap('Handlebars.template(<%= contents %>)'))
.pipe(declare({
namespace: 'GD.templates',
noRedeclare: true, // Avoid duplicate declarations
}))
.pipe(concat('templates.js'))
.pipe(gulp.dest('build/scripts/'));
});
反过来给我template.js如下
this["GD"] = this["GD"] || {};
this["GD"]["templates"] = this["GD"]["templates"] || {};
this["GD"]["templates"]["frontPage"] = Handlebars.template({"compiler":[6,">= 2.0.0-beta.1"],"main":function(depth0,helpers,partials,data) {
return "... html content not relevant ...";
},"useData":true});
然后我尝试在我的handlebars.js中使用
"use strict";
// var data = { title: 'This Form', name: 'Joey' };
var frontPage = GD.templates.frontPage;
console.log(frontPage);
console.log($('#front-page'));
$(document).ready(function () {
$('#front-page').html(frontPage);
});
问题是我从我的template.js第3行得到了一个未定义的Handlebars。我尝试过npm install把手但是没有用。我不确定我错过了什么,但我会喜欢这个帮助......这让我很疯狂。