如何强制Design Studio扩展以正确的顺序加载js库?

2020-09-10 11:43发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我正在尝试按特定顺序为正在创建的扩展加载多个JS库。 第一个必须先完成加载,然后再加载其他人,因为它们取决于第一个。 我给人的印象是RequireJS的实现将自动执行此操作,但似乎它是在第一个库完全加载之前加载其他JS库。

我的代码:

 define([" sap/designstudio/sdk/component",
 " ../../res/js/highcharts/highcharts",
 " ../../res/js/highcharts/highcharts-more",
 " ../../res/js/highcharts/solid-gauge",
 " css!../css/component.css"],
         function(Component,Highcharts,res1,res2,css){


     Component.subclass(" component.name",function(){
         .....
         this.afterUpdate = function(){
             highchart =新的Highcharts.chart(myDiv,{
                 ....
             }
         };
     });
 }); 

问题是我一直从第二和第三个库中收到尚未加载Highcharts的错误。 我还会从尝试创建图表的行中收到" Highcharts is undefined"错误(即使那时Highcharts已定义)。 如果我在浏览器中打开控制台并输入Highcharts,则表明它已正确初始化。

requireJS是否应该以正确的顺序加载这些库,还是我必须手动进行(如我之前所做的那样)?

编辑:访问Highcharts似乎是一个普遍问题。 如果我在代码中的任何地方尝试console.log(Highcharts),都将无法定义。 但是,当我尝试console.log(this)时,确实看到了其下面的Highcharts对象及其所有功能。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

我正在尝试按特定顺序为正在创建的扩展加载多个JS库。 第一个必须先完成加载,然后再加载其他人,因为它们取决于第一个。 我给人的印象是RequireJS的实现将自动执行此操作,但似乎它是在第一个库完全加载之前加载其他JS库。

我的代码:

 define([" sap/designstudio/sdk/component",
 " ../../res/js/highcharts/highcharts",
 " ../../res/js/highcharts/highcharts-more",
 " ../../res/js/highcharts/solid-gauge",
 " css!../css/component.css"],
         function(Component,Highcharts,res1,res2,css){


     Component.subclass(" component.name",function(){
         .....
         this.afterUpdate = function(){
             highchart =新的Highcharts.chart(myDiv,{
                 ....
             }
         };
     });
 }); 

问题是我一直从第二和第三个库中收到尚未加载Highcharts的错误。 我还会从尝试创建图表的行中收到" Highcharts is undefined"错误(即使那时Highcharts已定义)。 如果我在浏览器中打开控制台并输入Highcharts,则表明它已正确初始化。

requireJS是否应该以正确的顺序加载这些库,还是我必须手动进行(如我之前所做的那样)?

编辑:访问Highcharts似乎是一个普遍问题。 如果我在代码中的任何地方尝试console.log(Highcharts),都将无法定义。 但是,当我尝试console.log(this)时,确实看到了其下面的Highcharts对象及其所有功能。

付费偷看设置
发送
1条回答
hengyuye
1楼-- · 2020-09-10 12:15

嗨,伙计

我有同样的问题,因此您可以解决。

请支持我。

非常感谢您。

一周热门 更多>