我已经在实施道场跨域自定义生成一个问题。 这种情况如下:我有一个相当大的应用,具有良好的本地化数捆,所以basicly目录结构是一样
核心\(我的模块)
NLS \
FR \
EN \
....
当建立我的模块的结果是一个大core.js / core.xd.js文件,其中,边河畔,不包含的本地化。 在本地化NLS目录(EN / FR /等)我构建每捆建造/精缩,并为每种语言,core_fr.js / core_en.fs一个更大的文件,该文件只包含道场/ Dijit的相关字符串后找到。
所以我的构建脚本
layers: [
{
resourceName: "core",
name: "../core/trusted.js",
dependencies: [
"dojo.i18n",
//data
"dojox.data.JsonRestStore",
"dojox.data.XmlStore",
"dojox.rpc.Service",
"dojox.form.FileInput",
...
"core.controller.Fusebox"
],
prefixes: [
["dijit","../dijit"],
["dojox","../dojox"],
["core", "../core"]
]
在core.controller.Fusebox类我尝试加载1个NLS
dojo["requireLocalization"]("core", "FuseboxContent");
这里会死但是,随着
availableFlatLocales is undefined
[Break on this error] var locales = availableFlatLocales.split(",");\r\n
我在HTML文件中的配置是:
// version build
var djConfig = {
baseUrl: 'https://..../',
modulePaths: { 'core': 'core'},
useXDomain: true,
xdWaitSeconds: 10,
parseOnLoad: true,
afterOnLoad: true,
// debugAtAllCosts: true,
isDebug: true,
locale: "fr"
};
然后
<script type="text/javascript" src="http://xd.woopic.com/dojoroot/1.3.2-xd/dojo/dojo.xd.js.uncompressed.js"></script>
<script type="text/javascript" src="https://..../core/trusted.js.uncompressed.js"></script>
我用的是未压缩的调试,当然。 问题是,在运行时,道场尝试加载我的包,并不能找到他们,我想将它们嵌入在我的层文件,所以没有多余的负荷将是必需的。 能否实现这一目标? 虽然我们在这,是否有与跨域的本地化的任何工作场所/的例子吗? 更新:我继续我的分析,这个问题似乎在事实上,我正在dynamicaly加载NLS打好,所以构建解析器找不到requireLocalization()调用。 因此,该项目的NLS文件只包含道场/ dijit的相关内容。 然而,我在一个虚拟文件增加了几束负载和核心/ NLS的内容仍然由制造商忽略。
感谢您的任何信息,我在我的搜索结束差不多,没有太多关于这个问题的网。