将装配添加到yeoman webapp项目时,不支持渲染的把手

时间:2015-11-06 13:48:03

标签: web-applications gruntjs yeoman assemble

我使用yeoman和默认的webapp生成器创建了一个webapp。现在我尝试使用以下说明将assemble.io添加到项目中:https://github.com/yeoman/generator-webapp/blob/master/docs/recipes/assemble.md

当我执行grunt serve或构建以下错误消息时:

Running "assemble:pages" (assemble) task
handlebars does not support render.
Assembling .tmp/blog.html ERROR
Warning: handlebars does not support render. Use --force to continue.

Aborted due to warnings.

我试图通过安装把手,把手 - 助手和装配把手来修复此错误,但它没有解决问题。

2 个答案:

答案 0 :(得分:1)

此错误的一个常见原因是 node_modules / assemble-handlebars 不包含node_modules文件夹。

我不确定原因,但有时节点不会以递归方式安装该文件夹的模块。

短期修复是导航到终端中的 node_modules / assemble-handlebars ,然后运行 npm install

cd node_modules/assemble-handlebars

npm install

Grunt现在应该运行汇编任务而没有任何错误。

答案 1 :(得分:0)

yo-webapp没有向package.json添加版本。

在grunt-assemble中,我们默认使用装配把手,它使用把手 - 帮手。在使用的把手 - 助手的版本中,我们正在使用YAML格式化,使用方便并尝试获取package.json版本。

由于grunt-assemble尝试首先加载组装把手然后如果加载失败则回落到车把,车把试图直接用作引擎,而没有.render方法。

解决方案是:

  

如果您将一个版本属性添加到package.json文件中,则它可以正常工作。

在以后较新版本的装配和把手帮手中,我们采取不同的做法,因此这种类型的错误不会发生。