requirejs - 当我想创建带有时间刻度的图表时,如何在 RequireJS 中正确包含 Moment.js 和 Chart.js?

标签 requirejs chart.js momentjs

我使用RequireJS包括Moment.jsChart.js创建带有时间刻度的图表。

我在https://codepen.io/adrianhurt/pen/dXRRoL找到了一个例子包括两者,但这似乎不是正确的方法。

require.config({
  paths: {
    jquery: 'https://code.jquery.com/jquery-2.2.4.min',
    moment: 'https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.14.1/moment',
    chartjs: 'https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.1.6/Chart'
  },
  shim: {
    jquery: {
      exports: '$'
    },
    chartjs: {
      deps: [ 'moment' ]
    }
  }
});

require(['jquery', 'moment', 'chartjs'], function($ ,moment, Chart) ...

当我创建图表时,出现异常 Chart.js - Moment.js 无法找到!您必须将其包含在 Chart.js 之前才能使用时间刻度。在 https://momentjs.com 下载将会抛出异常。

因此我的问题是,当我想创建带有时间刻度的图表时,如何在 RequireJS 中正确包含 Moment.js 和 Chart.js?

请注意,Chart.js bundle 对我来说不是替代方案,因为我还需要单独的 Moment.js。

最佳答案

我在 https://github.com/chartjs/Chart.js/issues/4987 找到了解决方案.

requirejs.config({
  paths: {
    'moment': '//cdnjs.cloudflare.com/ajax/libs/moment.js/2.18.1/moment',
    'chartjs': '//cdnjs.cloudflare.com/ajax/libs/Chart.js/2.5.0/Chart'
  }
})

define('moment-adapter', ['moment'], function(moment) {
  window.moment = moment;
  return moment;
})

require(['moment-adapter', 'chartjs'], function(moment, Chart) {
   ...
})

关于requirejs - 当我想创建带有时间刻度的图表时,如何在 RequireJS 中正确包含 Moment.js 和 Chart.js?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46399297/

相关文章:

dojo - 将 dojo 1.8 与 requirejs 一起使用

javascript - 隐藏数据时的删除线标签

javascript - Chart.js 雷达图表图例标签字体大小不起作用

javascript - moment.js 获取 hh :mm:ss from a decimal nr

javascript - Moment js Time Ago 计算错误日期

javascript - RequireJS - 无法访问外部模块功能

javascript - 将 requireJS 模块暴露给全局命名空间的正确方法是什么?

javascript - 重新加载/重新初始化/刷新 CommonJS 模块

javascript - Chart.JS 全宽、响应式圆环图和 Bootstrap

javascript - 时刻获取在语言环境中格式化的日期