Chart.js多重包含预防

Chart.js multiple include prevention

本文关键字:包含预 js Chart      更新时间:2023-09-26

我正在编写许多Jenkins插件,我想在其中大部分插件中使用Chart.js。但每个插件都负责生成页面的一小部分,这意味着我在整个页面上多次包含Chart.js:

<script src="${rootURL}/plugin/jenkins-report-rpms/Chart.js"></script>
<script src="${rootURL}/plugin/jenkins-report-jck/Chart.js"></script>
<script src="${rootURL}/plugin/jenkins-report-other/Chart.js"></script>

是否可以在某些代码中封装Chart.js以防止内容的双重初始化?可能是基于已经初始化的图表变量?我不关心多个脚本下载,但我希望避免库的双重初始化可能产生的任何副作用。

您可以包装您的Chartjs代码(即通过更改Chart.js文件),以在运行包装后的代码之前检查全局变量Chart(window.Chart !== undefined)的存在。

也就是说,你可能应该做的是有一个模块化的结构,你的每个Jenkins模块(插件)都依赖于Chart.js模块。看见http://requirejs.org/有一种方法可以做到这一点。