把手没有定义的把手

时间:2016-01-30 20:31:46

标签: javascript templates npm gulp handlebars.js

我需要安装什么才能使其正常工作?我有一个看起来像这样的结构

  • 的index.html
  • gulpfile.js
  • 模板/
    • frontPage.html
  • 脚本/
    • main.js
    • handlebars.js

在我的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把手但是没有用。我不确定我错过了什么,但我会喜欢这个帮助......这让我很疯狂。

0 个答案:

没有答案