Javascript 使用RequireJS的chartjs插件流和依赖项的require.config的语法是什么?
我正在尝试动态地为Javascript库设置RequireJS require.config()。我将此配置用于,并且: 我正在尝试使用以下Javascript代码创建一个:Javascript 使用RequireJS的chartjs插件流和依赖项的require.config的语法是什么?,javascript,requirejs,chart.js,rcloud,Javascript,Requirejs,Chart.js,Rcloud,我正在尝试动态地为Javascript库设置RequireJS require.config()。我将此配置用于,并且: 我正在尝试使用以下Javascript代码创建一个: require(['moment', 'chart', 'streaming'], function (moment, C, streaming) { var ctx = document.getElementById('myChart').getContext('2d'); var chrt = new C.
require(['moment', 'chart', 'streaming'], function (moment, C, streaming) {
var ctx = document.getElementById('myChart').getContext('2d');
var chrt = new C.Chart(ctx, {
type: 'line',
data: { datasets: [{ data: [1,2,3,4,5] },{ data: [-1,0,1,2,3] }] }
})
})
如果我不包含chartjs-plugin-streaming.min.js代码,该脚本将创建一个简单的Chart.js图表
但是,当我尝试使用上面的require.config()添加该脚本时,我在Chrome中看到“chart.js”出现了500个错误,尽管已经加载了chart.js:
我的问题是,我是否正确地要求chartjs插件流及其依赖项?还是有其他问题?
chartjs插件流
正在寻找'chart.js'
,如您在和下面看到的
'use strict';
import Chart from 'chart.js';
import moment from 'moment';
import realTimeScale from './scales/scale.realtime';
import streamingPlugin from './plugins/plugin.streaming';
realTimeScale(Chart, moment);
var plugin = streamingPlugin(Chart);
Chart.plugins.register(plugin);
export default plugin;
由于导入的名称中有'.js'
扩展名,因此您必须在require.config
中导出具有该名称的内容
您需要一个RequireJSmap
,以便chartjs插件流媒体
可以找到该文件。下面是固定的require.config
require.config({
路径:{
矩://cdnjs.cloudflare.com/ajax/libs/moment.js/2.20.1/moment.min,
图表://cdnjs.cloudflare.com/ajax/libs/chart.js/2.7.1/chart.min,
流://cdn.jsdeliver.net/npm/chartjs-plugin-streaming@1.3.0/dist/chartjs插件streaming.min“
},
垫片:{
chartjs:{
出口:“C”
},
流媒体:{
出口:“C”,
deps:[“时刻”,“图表”]
}
},
地图:{
流媒体:{
“chart.js”:“chart”
}
}
});
要求([“时刻”、“图表”、“流媒体”],函数(时刻、图表){
var ctx=document.getElementById(“myChart”).getContext(“2d”);
var chrt=新图表。图表(ctx{
键入:“行”,
数据:{dataset:[{data:[1,2,3,4,5]},{data:[-1,0,1,2,3]}
});
});代码>
我知道这是一篇老文章,但我只是通过将0.7.0版chartjs-plugin-datalabels.min.js上的define引用从define([“charts.js”])更改为define([“我的文件路径”]),解决了这个问题
从(前两行):
致:
它是否适用于无垫片部分?事实上,它正在寻找小写的chart.js
,这让我觉得这是你在流shim
中的依赖项。谢谢你,但不,不幸的是,你至少需要将chart.js导出为一个对象…但是这个shim可以工作-它生成一个图表。是的,我认为我对“流媒体”的依赖也有点不对劲,但我是基于我从RequireJS文档中所能理解的。
'use strict';
import Chart from 'chart.js';
import moment from 'moment';
import realTimeScale from './scales/scale.realtime';
import streamingPlugin from './plugins/plugin.streaming';
realTimeScale(Chart, moment);
var plugin = streamingPlugin(Chart);
Chart.plugins.register(plugin);
export default plugin;
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("chart.js")):"function"==typeof define&&define.amd?define(["charts.js"],e) ...
!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?module.exports=e(require("chart.js")):"function"==typeof define&&define.amd?define(["../charts/Chart.min.js"],e ...