Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.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 Qlik如何导入依赖于其他的JS库_Javascript_Requirejs_Qlikview_Qliksense - Fatal编程技术网

Javascript Qlik如何导入依赖于其他的JS库

Javascript Qlik如何导入依赖于其他的JS库,javascript,requirejs,qlikview,qliksense,Javascript,Requirejs,Qlikview,Qliksense,我正在构建一个自定义扩展,并要求Chartjs这样做 我有以下几种进口产品 define( [ 'jquery', './PropertiesPannel', '//cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.bundle.js', '//cdnjs.cloudflare.com/ajax/libs/hammer.js/2.0.8/hammer.min.js',

我正在构建一个自定义扩展,并要求Chartjs这样做

我有以下几种进口产品

define( [
        'jquery',
        './PropertiesPannel',
        '//cdnjs.cloudflare.com/ajax/libs/Chart.js/2.9.3/Chart.bundle.js',
        '//cdnjs.cloudflare.com/ajax/libs/hammer.js/2.0.8/hammer.min.js',
        '//cdn.jsdelivr.net/npm/chartjs-plugin-zoom@0.7.5/dist/chartjs-plugin-zoom.min.js'
    ],
    function ( $, ProperitesPannel, Chart) {
        'use strict';
....
我得到以下控制台错误

hammerjs.js:1 Uncaught SyntaxError: Unexpected token '<'
3setup-view.d91ae8b7669a979d2ec1.js:8 TypeError: Cannot read property 'helpers' of undefined
    at chartjs-plugin-zoom.min.js:11
    at Object.execCb (setup-view.d91ae8b7669a979d2ec1.js:8)
    at n.check (setup-view.d91ae8b7669a979d2ec1.js:8)
    at n.<anonymous> (setup-view.d91ae8b7669a979d2ec1.js:8)
    at setup-view.d91ae8b7669a979d2ec1.js:8
    at setup-view.d91ae8b7669a979d2ec1.js:8
    at each (setup-view.d91ae8b7669a979d2ec1.js:8)
    at n.emit (setup-view.d91ae8b7669a979d2ec1.js:8)
    at n.check (setup-view.d91ae8b7669a979d2ec1.js:8)
    at n.enable (setup-view.d91ae8b7669a979d2ec1.js:8)

hammerjs.js:1未捕获的语法错误:意外的标记“这一个是有问题的。。。chartjs插件尝试加载
chart.js
,它不是有效的模块id,而是文件名。所以即使我在require.config.path中设置了它,RequireJS也会尝试将其作为文件加载。。。所以这里有一些解决办法:


require.config({
路径:{
jquery:'https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min',
“chart”:“//cdnjs.cloudflare.com/ajax/libs/chart.js/2.9.3/chart.bundle”,
hammerjs:“//cdnjs.cloudflare.com/ajax/libs/hammer.js/2.0.8/hammer.min”
}
});
var originalDefine=定义;
window.define=函数(a、b、c){
//当chartjs-plugin-zoom.min.js尝试加载chart.js时,从定义的路径加载图表模块:)
if(a&&a.length&&a[0]=='chart.js'){
[0]=“图表”;
}
原始定义(a、b、c);
};
要求([
“jquery”,
“图表”,
"hammerjs",,
'//cdn.jsdeliver.net/npm/chartjs-plugin-zoom@0.7.5/dist/chartjs插件zoom.min.js'
],函数($,图表,锤子,图表JS){
"严格使用",;
log('helloworld');
log($,chart,hammer,chartjs);
});

它可以很好地加载,所以你可以很好地使用

很好的方法,我最终使用了未修改的源代码,因此所有内容都添加到了原型中,而不需要Chartjs。可能不是最佳实践,但它是适合我的用例的解决方法!