[dojo-contributors] Asynchronous Module Definition (was Re: [CommonJS] Another idea on unifying Transport/C and /D)

James Burke jrburke at gmail.com
Tue Oct 12 21:24:55 EDT 2010


On Tue, Oct 12, 2010 at 2:36 PM, Kris Zyp <kzyp at dojotoolkit.org> wrote:
> If you care about reducing naming hazards (which is the whole purpose of
> minimizing globals), it seems like the best options would be for
> CommonJS to keep "require" and RequireJS to use "requirejs", or CommonJS
> could use "define" and RequireJS could keep "require". Sharing naming
> authority of "require" isn't really a tenable option for naming safety.

I care about reducing hazards to existing code in the wild. My
potentially poor choice of how I implemented require seems to be
orthogonal to that point. Existing code in the wild could have a
define or require that are most likely *not* CommonJS-compatible, and
having two globals that could potentially conflict with existing code
is more troublesome than one. As mentioned, that point is not a
complete reason for killing the proposal, but it is tradeoff with the
proposal.

And to be clear, I think there will be two globals, because to allow
interop, the "ensure" or some bootstrap method (whatever the name)
should be specified, and that seems unlikely/unnatural to be off of
define.

James


More information about the dojo-contributors mailing list