Dojo拥有最慢的选择器compared to other JS frameworks。
我想知道是否有可能在Dojo中使用Sizzle来制作dojo.query在幕后使用它?我认为它在jQuery中使用,所以它也应该在Dojo中使用。
无法找到有关如何操作的任何信息。
PS 链接上的测试似乎正在积极开发并每天更改,因此请确保在该页面上选择最新版本。
编辑: 似乎测试中的数字不正确,Dojo与其他人之间的差异并不是那么激进。这使得将Sizzle纳入Dojo的任务不值得付出努力。
答案 0 :(得分:4)
我对此没有一个确切的答案,但它似乎有可能。根据{{3}},这个功能已经存在了很长一段时间。
dojo ticket有一个名为Alternate Selector Engines
的部分,其中包含指向dojo query documentation的链接,该部分似乎可以轻松替代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."
},
答案 1 :(得分:3)
我质疑你的号码。 Others对Dojo的查询引擎得出了相反的结论。它们都非常快,可能没有那么大的差别。
答案 2 :(得分:0)
您不需要用sizzle替换dojo.query。
你可以说dojo.query,它应该使用sizzle。
在dojo配置
中var dojoConfig = {
selectorEngine: "sizzle",
async: true
};
使用 https://github.com/kriszyp/sizzle 和其他任何dojo包一样
请参阅http://dojotoolkit.org/reference-guide/1.9/dojo/query.html