Using CDN vs Installing library by NPM

CDN

Use CDN if you are developing a website that will be accessible by internet users.

CDN Benefits:

  • Will be cached on most browsers because it's used by a lot of other websites

  • Reduce the bandwidth

check for more benefits here

NPM

npm is a great tool to manage dependencies in your app using a module bundler.

Example:

assume using a webpack module bundler and jQuery is installed

import $ from 'jQuery'
...
var content = $('#id').html();

but the browser does not understand the import statement so you have to transpile the code with Webpack commands, the bundler will check all the used dependencies and bind them in a single file without any dependencies problems.

Useful links: Getting started with webpack


I might have misunderstood your question... But can't you just add this line to your index.html file?

<script src="node_modules/jquery/dist/jquery.min.js"></script>

I think you want to host jQuery yourself and use it within a web app running in the browser.

If so, you need to host this file - make it downloadable via the same web server you are using to host index.html.

If you are using Express, you might do something like this on the server side:

app.use('jquery', express.static(__dirname + '/node_modules/jquery/dist/'));

And then reference the file in index.html:

<script src="/jquery/jquery.js"></script>

See Express' manual for serving static files.

If you're not using Express, you need to consult your web server's stack manual. No way to guess unfortunately - I gave an Express.js example because this is probably the single most popular package like that for node.js.


in addition to above, npm install packages to local also:

  1. let your local IDE provide code intellisense and type-checking;
  2. provide source code for (Webpack) bundling, which combines all the JavaScript files to be a (minified) single file, so no dependencies.