从Dojo 1.4升级到1.8



我正在研究Dojo从1.4迁移到1.8。我有一个项目,其中有一些写dojo的jsp页面,它从xml文件中获取dojo的路径。我已经将路径从dojo 1.4库更改为dojo 1.8库,但在这样做之后,对dojo小部件的引用抛出了一个错误

例如dijit.byId("idofidget")

错误:dijit.byId("idofidget")为null或不是对象。

请指导如何解决此问题,如果能提供升级的基本步骤会更好。

提前感谢

如果您真的要升级到Dojo 1.8,那么您必须将代码重写为AMD,例如:

// Load the modules you need
require([ "dijit/registry", "dojo/ready", "dojo/parser" ], function(registry, ready) {
    // Wait until DOM is finished + widgets on the page are parsed
    ready(function() {
        // Retrieve widget instance
        registry.byId("idofwidget");
    });
});

需要知道的一件重要的事情是,你不升级Dojo,而是迁移它(至少在使用1.7之前和之后的版本时)。这通常涉及到你不能简单地更改Dojo库,但你也必须迁移你的代码。

有一些关于从1.7之前迁移到1.7之后的文章,例如这篇关于迁移的文章。

Sitepen还提供了一个名为Dojo AMD转换器的工具,它可以将您的模块转换为AMD语法,它不能100%保证它会工作,但它让您(至少)更近了一步。他们还有一篇关于迁移的文章,你可以在这里找到。

相关内容

  • 没有找到相关文章

最新更新