您如何管理生产应用程序中DojoX代码或小部件的使用?
Dojo Toolkit由Core,Dijit和DojoX组成。作为扩展工具包的新想法的孵化器,DojoX代码和小部件具有不同程度的不稳定性。
DojoX代码,如 QueryReadStore (用于从服务器获取批量数据)或小部件,如 Grid (用于使用用户界面网格)组件)不包含在Core或Dijit中。但它们的功能足以在某些情况下使用,需要注意“开发人员要小心”,因为在将来的Toolkit版本中,API或源代码树中的组件位置可能会发生变化。另一个问题是,您可能必须调整正在使用的DojoX组件才能在您的环境中正常运行,因为代码中还没有高度的健壮性。
那么,您如何确保随着您使用的DojoX组件的发展,您的应用程序保持平稳的轨道?
答案 0 :(得分:4)
这可能是一个显而易见但更具参与性的解决方案......但是:参与其中!它实际上是一次熟悉Dojo整体功能的最佳方法之一,教授了很多优秀的JS-foo,并确保您拥有关于特定模块未来的内部信息。大多数DojoX都是社区贡献的,旨在实现稳定性和实用性。审查,测试和黑客攻击代码的人越多,成功和稳定的可能性就越大。
此致 彼得希金斯
答案 1 :(得分:3)
有几种方法可以做到:
为了说明后一种技术,想象一下我想在dojox / charting / abc.js中修补一个文件:
dojo.provide("dojox.charting.abc");
// the rest of the file
...
我可以将它复制到我的目录中,例如my / patched_abc.js,并使它看起来像这样:
dojo.provide("my.patched_abc");
// now I include the rest of the file with my modifications
dojo.provide("dojox.charting.abc");
// the rest of the file
...
在我使用dojox.charting的代码中,我将其包括在内:
dojo.require("my.patched_abc");
// now I can include dojox.charting,
// which will use my patched dojox.charting.abc module
dojo.require("dojox.charting.Chart2D");
// the rest of the file
...
请小心避免使用循环“必填”声明。
此技术适用于后端端口和次要自定义。如果您的更改比此更广泛,则应考虑编写自己的模块。