iX3*_*iX3 8 compatibility handlebars.js
我们目前正在使用Handlebars 1.3.0版本,我想知道我们需要更改什么,以便能够升级到2.x版本.由于HandlebarsJS团队致力于语义版本控制,我知道必须有一些重大变化,但我没有在README.md中看到它们.v2.0.0-alpha.N版本的更改日志中列出了一些项目,但我不清楚这是否是完整列表(或者在2.0.0 final发布之前是否存在完整列表) .一些1.x版本也有"兼容性"部分,但我相信它们都是非破坏/向前兼容的.
任何人都可以对API差异或2.x系列的目标/改进提供一些见解吗?
兼容性说明
- 在IE8及以下版本下运行编译器需要JSON polyfill.建议使用预编译器代替在这些传统环境中运行编译器.
helperMissinghelper不再具有索引名称参数.现在可以通过options.name获得帮助程序名称.- 预编译器输出已更改,这会破坏与早期版本的运行时和预编译输出的兼容性.
JavaScriptCompiler.compilerInfo现在返回通用对象而不是javascript源.- AST改变
- INTEGER - > NUMBER
- 附加的PartialNode哈希参数
- 新的RawBlockNode类型
- 数据框现在具有_parent字段.这是内部的,但由于性能/兼容性原因而可以枚举.
除了上面提到的更改:
现在删除仅包含块语句和空格的行.这与Mustache规范相匹配,但可能会导致代码期望存在空格,但不会出现问题.
如果您根据官方发行说明查看Handlebars的v1.3.0和v2.0.0-alpha.1版本之间的更改,您将看到,这是两个主要更改,会在升级期间破坏您的模板.
../),但现在可以接受hash作为参数,并且可以通过@root变量访问根上下文.因此,请查看您使用的部分内容../并将其更改为使用本地数据,并将其作为参数传递给partial.所以,这是升级到2.x Handlebars版本时应该注意的主要事项.有一些内部更改会影响helperMissing帮助程序JavaScriptCompiler.compilerInfo,更新AST和数据框架.但所有这些仅对于使用自己的叉子或在运行时进行一些修改的用户才有意义.其他变化主要是错误修正.
| 归档时间: |
|
| 查看次数: |
2962 次 |
| 最近记录: |