mtscout6/knockout — comment on commit 39caa75bbcf86ae87bbee129e80e53a008abb270
File:  line 0
By SteveSanderson:

Could you clarify for me what is the reason for declaring an *anonymous* module, rather than a named one?

Quote from http://requirejs.org/docs/whyamd.html#namedmodules:

> However, for some popular JS libraries in use on the web now, defining an anonymous module might be hazardous
> since they could be loaded on a page, without using an AMD loader. If there happens to be an AMD loader on the
> page, the AMD loader will not have enough information to give the module a name. jQuery and underscore are examples
> of scripts that fall in this category.

It's not entirely obvious from that quote what the "hazard" is, but if it applies to jQuery and underscore, I'm guessing it would apply to Knockout too. Are they saying that, if a developer combines the library with other AMD modules into a single *.js file as part of a build process, then the resulting file won't work properly because anonymous modules only work if they are the only AMD module in the .js file?

Should we consider switching back to a named module?