当我想创建带有时间刻度的图表时,如何正确地将 Moment.js 和 Chart.js 包含在 RequireJS 中?
How do I correctly include Moment.js and Chart.js with RequireJS when I want to create charts with time scales?
我使用 RequireJS to include Moment.js and Chart.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 could not be found! You must include it before Chart.js to use the time scale. Download at https://momentjs.com
。
因此我的问题是,当我想创建带有时间刻度的图表时,我如何正确地将 Moment.js 和 Chart.js 包含在 RequireJS 中?
请注意,Chart.js 捆绑包对我来说不是替代品,因为我还单独需要 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 to include Moment.js and Chart.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 could not be found! You must include it before Chart.js to use the time scale. Download at https://momentjs.com
。
因此我的问题是,当我想创建带有时间刻度的图表时,我如何正确地将 Moment.js 和 Chart.js 包含在 RequireJS 中?
请注意,Chart.js 捆绑包对我来说不是替代品,因为我还单独需要 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) {
...
})