我试着启动一个莫扎特的应用程序,但是没有渲染,我得到了错误.
TypeError: this.merge is not a function
helpers = this.merge(helpers, Handlebars.helpers); data = data || {};显然没有什么关系发生变化。没有改变模板等,所以很难看出什么是错的。已经尝试了npm的安装和重新运行,但没有结果。有人碰到这个问题了吗?
发布于 2013-09-17 01:26:38
听起来,用于预编译模板的工具栏版本与实际运行在页面上的版本不同。
具体来说,this.merge是在工具栏1.0.0 final中添加的,所以如果您的页面仍然在运行早期版本(比如1.0.0rc4),那么该方法将不存在,并且会崩溃。
您需要更新页面上使用的工具栏版本,或者删除package.json中用于模板预编译的工具栏版本。
编辑:有时也会因为NPM安装下游依赖项的方式而陷入麻烦。例如,您可以在您的"handlebars": "1.0.11"中指定package.json,但是如果另一个包依赖于package.json并使用不同的版本,那么在调用require()时加载哪个版本可能会有点麻烦。您可以通过运行npm install --production来避免这种情况,以确保跳过重复的依赖项(不管版本如何),但底线可能是“更新到最新版本并保持一致”。
https://stackoverflow.com/questions/18839775
复制相似问题