When you call dojo.require("dojo.foo.bar.baz"), Dojo tries to load the following files, in this order:
- src/foo/bar/baz.js
- src/foo/bar.js
- src/foo/bar/__package__.js
- src/foo.js
- src/foo/__package__.js
and then fail.
When the ".*" suffix is added, Dojo searches for a "__package__.js" file *first*. When you call dojo.require("dojo.foo.bar.baz.*"), Dojo tries to load the following files, in this order:
- src/foo/bar/baz/__package__.js
- src/foo/bar/baz.js
- src/foo/bar/__package__.js
- src/foo/bar.js
- src/foo/__package__.js
- src/foo.js
and then fail.