5 javascript version-control dojo
您如何管理生产应用程序中DojoX代码或小部件的使用?
该Dojo Toolkit的包括核心,Dijit和DojoX中的.作为扩展工具包的新想法的孵化器,DojoX代码和小部件具有不同程度的不稳定性.
像QueryReadStore这样的DojoX代码(用于从服务器获取批量数据)或者像Grid这样的小部件(用于利用用户界面网格组件)不包含在Core或Dijit中.但它们的功能足以在某些情况下使用,需要注意"开发人员要小心",因为在将来的Toolkit版本中,API或源代码树中的组件位置可能会发生变化.另一个问题是,您可能必须调整正在使用的DojoX组件才能在您的环境中正常运行,因为代码中还没有高度的健壮性.
那么,您如何确保随着您使用的DojoX组件的发展,您的应用程序保持平稳轨道?
有几种方法可以做到这一点:
为了说明后一种技术,假设我想要修补位于 dojox/charting/abc.js 中的一个文件:
dojo.provide("dojox.charting.abc");
// the rest of the file
...
Run Code Online (Sandbox Code Playgroud)
我可以将其复制到我的目录,例如 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
...
Run Code Online (Sandbox Code Playgroud)
在我使用 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
...
Run Code Online (Sandbox Code Playgroud)
只是要小心避免循环的“require”语句。
该技术非常适合向后移植和小型定制。如果您的更改比这更广泛,您应该考虑编写自己的模块。