【问题标题】:Chart.js multiple include preventionChart.js 多重包含预防
【发布时间】:2016-01-08 00:47:41
【问题描述】:

我正在编写一些 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 以防止内容的双重初始化?也许基于已经初始化的图表变量?我不关心多个脚本下载,但我想避免库的双重初始化可能产生的任何副作用。

【问题讨论】:

  • 为什么不在head部分导入一次并删除其他引用?

标签: javascript chart.js


【解决方案1】:

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

也就是说,您可能应该做的是拥有一个模块化结构,您的每个 Jenkins 模块(插件)都依赖于 Chart.js 模块。请参阅http://requirejs.org/ 了解执行此操作的一种方法。

【讨论】:

  • 最终编写了一个单独的插件。希望避免这种情况,但看起来这是最可靠的方法。
猜你喜欢
  • 2014-08-20
  • 1970-01-01
  • 2018-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-01
  • 2018-05-13
相关资源
最近更新 更多