我想要包含两个库(jQuery,Highcharts)。 我尝试在config.json文件中添加它们作为附加-j:
"additional-js" : {
"add-script" : [
{ "uri" : "script/jquery-3.1.0.min.js" },
{ "uri" : "script/highcharts.js" }
]
},
问题是,包含的顺序是由构建更改的。 构建highcharts.js之后是第一个包含的。 我该如何管理序列?
答案 0 :(得分:4)
以下是您问题的直接答案:
我已经使用全新创建的应用对此进行了测试,并保留了config.json
中给出的序列。
首先,您必须将其他库的文件放在应用程序的正确路径中(此处称为myapp)
myapp/source/resource/scripts/jquery.js
myapp/source/resource/scripts/highcharts.js
然后在job
myapp/config.json
部分添加folling条目
"jobs" :
{
"common" : {
"add-script" : [
{ "uri" : "resource/scripts/jquery.js" },
{ "uri" : "resource/scripts/highcharts.js" }
]
},
最后在您的应用代码中的某处添加@asset(scripts/*)
编译器提示,例如在Application.js
这样的
/**
* This is the main application class of your custom application "myapp"
*
* @asset(myapp/*)
* @asset(scripts/*)
*/
这样,应用加载器首先在源版本和构建版本中加载jquery.js
然后加载highcharts.js
。
请注意,qooxdoo加载程序负责加载其他库。您没有也不应该在index.html
中为库添加脚本标记!
答案 1 :(得分:2)
我知道这不是你问题的直接答案。我从未通过config.json中的add-script配置参数使用脚本。
我还使用qx.util.DynamicScriptLoader
(请参阅http://www.qooxdoo.org/devel/api/#qx.util.DynamicScriptLoader)在我的qooxdoo应用程序中集成了jquery和highcharts,它允许在实例初始化时加载外部库,同时严格保留给定的加载顺序。这还具有以下优点:仅在需要时加载库,例如,您的代码会创建一个包含highcharts小部件的对话框。