3 ms·
How can you use a CDN if you're also using a bundler/minifier? Put another way, how can you bundle your app such that CDN-available libs are "dynamically linke
by haberman 11y ago
How can you use a CDN if you're also using a bundler/minifier?
Put another way, how can you bundle your app such that CDN-available libs are "dynamically linked" but your app and less common libs are "statically linked"?
- drhayes9 11y agoYou make the thing you're requiring an "external", such that the bundler knows it's available somewhere but won't include it. Here's browserify's documentation about the matter: https://github.com/substack/node-browserify#external-requires https://github.com/substack/node-browserify#external-require...
- haberman 11y agoThe doc you linked to describes how to create a bundle of JS that will export a "require()" function exposing the bundled libs to other JavaScript. That doesn't seem related to the question of how to create a bundle that assumes that some libs have already been loaded with a previous script tag that pulled, say, jQuery from a CDN.
- drhayes9 11y agoWhoops! That's what I get for speed-linking. I meant this one: https://github.com/substack/node-browserify#bexternalfile https://github.com/substack/node-browserify#bexternalfile For something like jQuery you might also need a browserify shim. And now we're edging closer into some of the stuff this essay decries.
- arohner 11y agoYou can always upload the .js files to your own CDN. The other magic of CDNs (aside from the potential cache reuse that everyone is talking about in this thead) is that the user downloads files from a geographically closer server to them than your server. This is typically a huge speed up, and applies even if your JS files are 100% unique.