Rob*_*ler 2 javascript node.js handlebars.js
我正在尝试创建一个使用开源Alpaca Forms包的Node.JS应用程序:
我正在使用Node版本:v0.10.25
当我从教程中运行测试页时:
http://www.alpacajs.org/tutorial.html
使用该教程中找到的第二个示例页面:
<html>
<head>
<link type="text/css" rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" />
<link type="text/css" href="//code.cloudcms.com/alpaca/1.5.17/bootstrap/alpaca.min.css" rel="stylesheet" />
<script type="text/javascript" src="//code.jquery.com/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/handlebars.js/3.0.3/handlebars.js"></script>
<script type="text/javascript" src="//code.cloudcms.com/alpaca/1.5.17/bootstrap/alpaca.min.js"></script>
</head>
<body>
<div id="form"></div>
<script type="text/javascript">
$(document).ready(function() {
$("#form").alpaca({
"schema": {
"title":"User Feedback",
"description":"What do you think about Alpaca?",
"type":"object",
"properties": {
"name": {
"type":"string",
"title":"Name"
},
"feedback": {
"type":"string",
"title":"Feedback"
},
"ranking": {
"type":"string",
"title":"Ranking",
"enum":['excellent','ok','so so']
}
}
}
});
});
</script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
我在Chrome调试器控制台中收到以下两个错误,抱怨我使用的模板是使用比当前运行时新的版本的Handlebars 编译的,而不是像SO指定的大多数报告的问题一样旧的版本。这是Chrome调试器控制台中的错误转储:
Uncaught Error: Template was precompiled with a newer version of Handlebars than the current runtime.
Please update your runtime to a newer version (>= 4.0.0).
Exception @ handlebars.js:2520
checkRevision @ handlebars.js:2693
template @ handlebars.js:2709
hb.template @ handlebars.js:196
(anonymous function) @ alpaca.min.js:1
(anonymous function) @ alpaca.min.js:1
(anonymous function) @ alpaca.min.js:1
Uncaught TypeError: $(...).alpaca is not a function
(anonymous function) @ (index):14
j @ jquery-1.11.1.min.js:2
k.fireWith @ jquery-1.11.1.min.js:2
m.extend.ready @ jquery-1.11.1.min.js:2
J @ jquery-1.11.1.min.js:2
Run Code Online (Sandbox Code Playgroud)
我NPM检查,我正在使用一个版本的车把比4.0.0更新:
$ npm ls | grep handlebars
??? handlebars@4.0.5
Run Code Online (Sandbox Code Playgroud)
这样看来错误消息是错误的吗?
我发现了这两个相关的SO帖子:
但是我没有使用Gulp或Ember.JS,所以我不知道所提供的补救措施是否适用于我的情况。
这是我根据NPM安装的软件包的列表:
npm ls
/home/roschler
??? express@4.13.4
? ??? accepts@1.2.13
? ? ??? mime-types@2.1.10
? ? ? ??? mime-db@1.22.0
? ? ??? negotiator@0.5.3
? ??? array-flatten@1.1.1
? ??? content-disposition@0.5.1
? ??? content-type@1.0.1
? ??? cookie@0.1.5
? ??? cookie-signature@1.0.6
? ??? debug@2.2.0
? ? ??? ms@0.7.1
? ??? depd@1.1.0
? ??? escape-html@1.0.3
? ??? etag@1.7.0
? ??? finalhandler@0.4.1
? ? ??? unpipe@1.0.0
? ??? fresh@0.3.0
? ??? merge-descriptors@1.0.1
? ??? methods@1.1.2
? ??? on-finished@2.3.0
? ? ??? ee-first@1.1.1
? ??? parseurl@1.3.1
? ??? path-to-regexp@0.1.7
? ??? proxy-addr@1.0.10
? ? ??? forwarded@0.1.0
? ? ??? ipaddr.js@1.0.5
? ??? qs@4.0.0
? ??? range-parser@1.0.3
? ??? send@0.13.1
? ? ??? destroy@1.0.4
? ? ??? http-errors@1.3.1
? ? ? ??? inherits@2.0.1
? ? ??? mime@1.3.4
? ? ??? ms@0.7.1
? ? ??? statuses@1.2.1
? ??? serve-static@1.10.2
? ??? type-is@1.6.12
? ? ??? media-typer@0.3.0
? ? ??? mime-types@2.1.10
? ? ??? mime-db@1.22.0
? ??? utils-merge@1.0.0
? ??? vary@1.0.1
??? handlebars@4.0.5
??? async@1.5.2
??? optimist@0.6.1
? ??? minimist@0.0.10
? ??? wordwrap@0.0.3
??? source-map@0.4.4
? ??? amdefine@1.0.0
??? uglify-js@2.6.2
??? async@0.2.10
??? source-map@0.5.3
??? uglify-to-browserify@1.0.2
??? yargs@3.10.0
??? camelcase@1.2.1
??? cliui@2.1.0
? ??? center-align@0.1.3
? ? ??? align-text@0.1.4
? ? ? ??? kind-of@3.0.2
? ? ? ? ??? is-buffer@1.1.3
? ? ? ??? longest@1.0.1
? ? ? ??? repeat-string@1.5.4
? ? ??? lazy-cache@1.0.3
? ??? right-align@0.1.3
? ? ??? align-text@0.1.4
? ? ??? kind-of@3.0.2
? ? ? ??? is-buffer@1.1.3
? ? ??? longest@1.0.1
? ? ??? repeat-string@1.5.4
? ??? wordwrap@0.0.2
??? decamelize@1.2.0
??? window-size@0.1.0
Run Code Online (Sandbox Code Playgroud)
如何解决这些错误?
在示例HTML中,需要更新通过脚本标签包含的Handlebars库。当它指的是运行时库时,您需要更新您明确包含的JS库,而不是通常的NPM包。
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/handlebars.js/3.0.3/handlebars.js"></script>
Run Code Online (Sandbox Code Playgroud)
实际上应该包括4.0.0+版的一个。例如
<script type="text/javascript" src="//cdnjs.cloudflare.com/ajax/libs/handlebars.js/4.0.0/handlebars.js"></script>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2450 次 |
| 最近记录: |