我有一个使用DOJO(1.9.x)的单页Web应用程序。它通常从Google CDN加载DOJO库,我的应用程序按预期运行。但是,一些客户提供有限的互联网连接,出于安全(!?)的原因排除了大部分互联网。所以我必须在服务器上本地托管DOJO库。
为此,我应该将URL指向dojo.js的本地副本和相关的CSS文件。由于只有URL的前缀发生变化,我很好奇是否有一个技巧可以通过一些外部CSS文件实现这一点,以便HTML中的URL从这个小CSS中获取它的前缀。通过简单地编辑/更改这个小的CSS文件,One站点将从Google CDN加载DOJO,而另一个站点将加载本地托管的DOJO。
这是否可以使用静态CSS文件?
答案 0 :(得分:1)
CSS无法实现这一点。
一些替代方案,按优先顺序排列:
关于选项3的更多细节:
dojoConfig.js
//var dojoRoot = ".."; // For LOCAL builds - relative to dojo.js
var dojoRoot = "//ajax.googleapis.com/ajax/libs/dojo/1.9.3"; // For CDN builds
var dojoConfig = {
packages: [
// Depending on your project structure, you may need to
// insert entries here for your local packages.
// Here, we override the location for dojo packages
{
name: "dojo",
location: dojoRoot + "/dojo"
},
{
name: "dojox",
location: dojoRoot + "/dojox"
},
{
name: "dijit",
location: dojoRoot + "/dijit"
}
]
};
要使用它的HTML代码段
<script src="dojoConfig.js"></script>
<script src="dojo/dojo.js"></script>
<script>
require(["dojo/_base/config", "dojo/json"], function(config, JSON) {
console.log(JSON.stringify(config.packages, null, "\t"));
});
</script>