我正在开发一个简单的Ember.js和Express应用程序,到目前为止我的所有模板都在我的index.html
文件中。这是我第一次将Grunt用于更少的预编译模板。 (我使用Grunt-Ember-Handlebars来处理编译)
我已将所有模板移到handlebars
文件夹中,然后在同一文件夹中编译成templates.js
。
我的问题是:我在哪里可以在HTML文件中包含链接到templates.js
的脚本标记?
以下是我的所有文章的布局:
<script src="../js/jquery.js"></script>
<script src="../js/libs/handlebars-1.1.2.js"></script>
<script src="../js/libs/ember-1.3.0.js"></script>
<script src="http://builds.emberjs.com/beta/ember-data.js"></script>
<!-- APP -->
<script src="templates.js" type="text/javascript"></script>
<script src="../js/app.js"></script>
<script src='../js/router.js'></script>
<script src='../js/controllers/controllers.js'></script>
我的templates.js
文件的路径是正确的,所以这不是问题。但它总是返回错误说明:
断言失败:无法找到&#34;索引&#34;模板或视图。
我知道的唯一文件我需要在ember.js
文件后包含它。除此之外,如果我在我的应用程序中的任何文件之前或之前包含它,它在错误输出方面没有区别。
提前感谢您的帮助!
修改 这是我的Gruntfile:
grunt.initConfig({
ember_handlebars: {
compile: {
options: {
namespace: "emberApp.TEMPLATES"
},
files: {
"views/templates.js" : "handlebars/*.hbs"
}
}
}
});
答案 0 :(得分:1)
把它们放在哪里都没关系。好像他们的命名错误。
templates
application.hbs
) ember_handlebars: {
options: {
processName: function(name) {
return name.replace(/(templates\/|\.hbs)/g, '');
}
},
files: {
"templates.js": "templates/**/*.hbs",
}