Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/xamarin/3.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未加载库_Javascript_Requirejs - Fatal编程技术网

Javascript Requirejs未加载库

Javascript Requirejs未加载库,javascript,requirejs,Javascript,Requirejs,我正在使用一个数据分析工具(KNIME),该工具允许数据可视化,但只能通过公开javascript层(即,我无法构建html文件)实现,这意味着我需要通过Requirejs加载外部库 我通常只使用d3.js库,通过require()函数加载它非常简单。但是,当我尝试加载回归js库时,回归对象返回为未定义 回归js Github页面供参考- 如何加载这两个库,以便正确地可视化数据 我尝试过摆弄shim()和define(),但我不确定哪里出了问题 require.config({ path

我正在使用一个数据分析工具(KNIME),该工具允许数据可视化,但只能通过公开javascript层(即,我无法构建html文件)实现,这意味着我需要通过Requirejs加载外部库

我通常只使用d3.js库,通过require()函数加载它非常简单。但是,当我尝试加载回归js库时,回归对象返回为未定义

回归js Github页面供参考-

如何加载这两个库,以便正确地可视化数据

我尝试过摆弄shim()和define(),但我不确定哪里出了问题

require.config({
    paths: {
        d3src: 'https://d3js.org',
    },
    map: {
        '*': {
            'd3': 'd3src/d3.v5.min', //loads fine
            'd3-color': 'd3src/d3-color.v1.min', //loads fine
            'd3-interpolate': 'd3src/d3-interpolate.v1.min', //loads fine
            'd3-scale-chromatic': 'd3/src/d3-scale-chromatic.v1.min', //loads fine
            'regression': 'https://cdnjs.cloudflare.com/ajax/libs/regression/1.4.0/regression.min.js' //does not seem to load properly
        }
    }
});

require(['d3', 'd3-color', 'd3-interpolate','regression'], function(d3,regression) { //am I not calling the regression object correctly here?

//ideally this code should return something

const result = regression.linear([[0, 1], [32, 67], [12, 79]]);
// Uncaught TypeError: regression.linear is not a function

const gradient = result.equation[0];
const yIntercept = result.equation[1];
console.log(result,gradient,yIntercept);

});

在提供的代码中,console.log()应该返回一个对象,后跟两个浮点数。

您尝试加载的版本(1.4.0)非常旧,不支持
requirejs
。如果您仍然需要该版本,则需要将其加载到
脚本
标记中,然后使用全局对象
回归

如果您可以使用最新版本2.0.1,那么您可以这样做:

require.config({
    paths: {
        d3src: 'https://d3js.org',
        regressionsrc: 'https://cdn.jsdelivr.net/npm/regression@2.0.1/dist'
    },
    map: {
        '*': {
            'd3': 'd3src/d3.v5.min', //loads fine
            'd3-color': 'd3src/d3-color.v1.min', //loads fine
            'd3-interpolate': 'd3src/d3-interpolate.v1.min', //loads fine
            'd3-scale-chromatic': 'd3/src/d3-scale-chromatic.v1.min', //loads fine
            'regression': 'regressionsrc/regression.min' //loads fine
        }
    }
});

require(
  ['d3', 'd3-color', 'd3-interpolate','regression'], 
  function(d3,d3Color, d3Interpolate, regression) {

    const result = regression.linear([[0, 1], [32, 67], [12, 79]]);

    const gradient = result.equation[0];
    const yIntercept = result.equation[1];
    console.log(result,gradient,yIntercept);

});
从而不是从cdnjs.com加载它

或者使用
npm安装回归
并从您自己的服务器或本地加载它(如果正在开发)


希望有帮助

谢谢@Castro,我想我试过使用更新版本,但似乎不是这样。奇怪的是,有一个兼容性问题,但它是什么。