Dojo 拥有最慢的选择器 compared to other JS frameworks .
我想知道是否可以在 Dojo 中使用 Sizzle 来让 dojo.query 在幕后使用它?我认为 jQuery 中就是这样使用的,所以在 Dojo 中也应该可以。
找不到任何有关如何执行此操作的信息。
PS 链接中的测试似乎正在积极开发并且每天都会更改,因此请确保您在该页面上选择最新版本。
编辑: 测试中的数字似乎不正确,并且 Dojo 和其他人之间的差异并不是那么根本。这使得将 Sizzle 纳入 Dojo 的任务不值得付出努力。
最佳答案
我对此没有确切的答案,但这似乎绝对是可能的。根据dojo ticket这个功能已经存在很长一段时间了。
dojo query documentation有一个名为 Alternate Selector Engines
的部分,其中包含指向 github repository 的链接看起来可以相当轻松地替换 dojo 查询引擎。
通过执行 dojo 的自定义构建,您可以自动烘焙 sizzle 引擎。如果你查看(源代码发行版)util/buildscripts/jslib/buildUtil.js
,有一个用于query
的参数:
"query": {
defaultValue: "default",
helpText: "Select a DOM query engine. Default value is the normal dojo.query engine. Using query=sizzle will use the Sizzle engine."
+ "Normal Dojo tests are not run routinely with the Sizzle engine. See dojo/_base/sizzle.js for the version of Sizzle."
},
关于javascript - 用 Sizzle 替换 dojo.query?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8063962/