|
|
|
|
|
by cj
4226 days ago
|
|
IMO, a big upside of using a define / require pattern, even when the final library is fully concatenated, is that you have a clear picture of all of variables that are available in a particular module. It's a little ambiguous when using something like Smash, since you're not actually importing a module onto a variable. For example, check out this random file from D3 source: https://github.com/mbostock/d3/blob/master/src/interpolate/i... As someone unfamiliar with the codebase, it's unclear to me where many of the variables are coming from (d3_interpolate, d3_rgb_names, d3_interpolateRgb, etc). It'd imagine it makes managing dependencies a bit trickier. |
|
(I don't use it myself, due to the current project being too large, so I use require.js in conjunction with amdclean which removes a lot of the module loader overheads.)