Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/463.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用RequireJS的chartjs插件流和依赖项的require.config的语法是什么?_Javascript_Requirejs_Chart.js_Rcloud - Fatal编程技术网

Javascript 使用RequireJS的chartjs插件流和依赖项的require.config的语法是什么?

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.

我正在尝试动态地为Javascript库设置RequireJS require.config()。我将此配置用于,并且:

我正在尝试使用以下Javascript代码创建一个:

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
中导出具有该名称的内容

您需要一个RequireJS
map
,以便
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 ...