<story><title>A Beginner’s Guide to Chart.js</title><url>https://www.stanleyulili.com/javascript/beginner-guide-to-chartjs/</url></story><parent_chain></parent_chain><comment><author>augstein</author><text>Chart.js still uses the HTML Canvas element, so charts generated with it look blurred when printed or zoomed in.&lt;p&gt;Nowadays I prefer Apexcharts.js, which renders to SVG.&lt;p&gt;&lt;a href=&quot;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;apexcharts&amp;#x2F;apexcharts.js&quot; rel=&quot;nofollow&quot;&gt;https:&amp;#x2F;&amp;#x2F;github.com&amp;#x2F;apexcharts&amp;#x2F;apexcharts.js&lt;/a&gt; (MIT License)</text></comment>
<story><title>A Beginner’s Guide to Chart.js</title><url>https://www.stanleyulili.com/javascript/beginner-guide-to-chartjs/</url></story><parent_chain></parent_chain><comment><author>TicklishTiger</author><text>Now that we have Javascript modules, is all this trickery on top of a library like this one still needed?&lt;p&gt;This is how the Chart.js code begins:&lt;p&gt;&lt;pre&gt;&lt;code&gt;    (function (global, factory) {
    typeof exports === &amp;#x27;object&amp;#x27; &amp;amp;&amp;amp; typeof module !== 
    &amp;#x27;undefined&amp;#x27; ? module.exports = factory() :
    typeof define === &amp;#x27;function&amp;#x27; &amp;amp;&amp;amp; define.amd ? 
    define(factory) :
    (global.Chart = factory());
    }(this, (function () { &amp;#x27;use strict&amp;#x27;;
    ... now comes all the code ...
&lt;/code&gt;&lt;/pre&gt;
I have no idea how to read this, what this means and how to invoke a construct like this.</text></comment>