All You Need to Know About Using Moment. Js With A CDN
However, Moment.js is yet another dependency bulking up your website or web applications. It’s therefore considered best practice to have it, and other libraries served through a CDN for best performance. Luckily, Moment.js is among a number of libraries that you can push through a CDN with one or two lines of code. Of course, you can still download and host the package using npm or your browser and still use a CDN service to manage how it’s served to your visitors.
What You Can Achieve with Moment.js
Moment. Js is an open-source wrapper that allows you to create cool date UI elements with a few lines of code. It also makes it easier to implement quick date validation, parsing and any other kind of manipulation such as date math and time math.
How to Use Moment.js
There are three or so ways you can use a library like Moment.js on your projects. The first option involves downloading the entire library from the Moment.js website and adding it to your project before you start using it. This means you will be hosting the library on your web server and any request for the functions using the library will be processed by your server.
The second option is to automate the process by using something like npm to add the library as a dependency to your project before you start using its various functions. Most devs would go for this option. To do this, just use the following command in node:
npm install moment --save
There are options available for those using other package managers such as yarn, spm or bower as listed below.
bower install moment --save
yarn add moment
spm install moment --save
You could also reference the Moment.js library through any of the available open-source content delivery networks and not have to worry about installing it or hosting it on your website. Of course, this only allows you to serve the library alone and nothing else. A third, even better option is to optimize the entire website’s performance by using a website CDN.
What It Means to use Moment.js and a CDN
Over the last few years, websites and web applications have gotten bulkier and more complicated. This is mainly to do with the number of dependencies most devs are using to add different functionalities and make it easier and faster to create projects.
While dependencies such as Moment are not entirely bad, they do introduce some negatives to the overall performance of your website or web application. Using a content delivery network to host and server libraries such as Moment.js or even entire websites is now considered best practice in the industry. Instead of burdening your already stretched web server with all these libraries and web assets, the content delivery network will see to it that your assets are properly served to your visitors and at blazing speeds.
A CDN is basically an enhanced way to deliver your content and other web assets to your visitors or clients without worrying too much about the underlying infrastructure. The CDN maintains multiple servers across geographical locations that have copies(caches) of your web assets. This means any visitor to your website or web application will be served content using the servers closest to them. Of course, there is so much more to how a content delivery network handles your web assets.
Your average content delivery network may have thousands of servers and server clusters spread across different locations. This kind of infrastructure could be out of reach of most individual website owners or small businesses but now made available through affordable CDNs.
There are certainly many upsides to delivering your content and libraries like Moment.js through a CDN than hosting and serving them all through a single server. Having originally been created to provide DDoS protection, the CDN will also provide some level of protection to your website.