Dojo 1.9构建&x27;倍增罚款';加载区域设置时出错

Dojo 1.9构建&x27;倍增罚款';加载区域设置时出错,dojo,locale,nls,dojo-build,dojo-1.9,Dojo,Locale,Nls,Dojo Build,Dojo 1.9,我的dojo应用程序在构建后、加载应用程序期间、抛出“multipleDefine”并给出以下错误后中断: 错误{src:“dojoLoader”,info:Object} 信息:倍增罚款 信息:Object{pid:“dojo”,mid:“dojo/nls/dojo_en-us”,pack:Object, url:“dojo/nls/dojo_en-us.js”,执行时间:5…} 这是我的个人资料: var配置文件={ //`basePath`相对于包含此配置文件的目录;在本例中,它被设置为

我的dojo应用程序在构建后、加载应用程序期间、抛出“multipleDefine”并给出以下错误后中断:

错误{src:“dojoLoader”,info:Object}

信息:倍增罚款

信息:Object{pid:“dojo”,mid:“dojo/nls/dojo_en-us”,pack:Object, url:“dojo/nls/dojo_en-us.js”,执行时间:5…}

这是我的个人资料:

var配置文件={
//`basePath`相对于包含此配置文件的目录;在本例中,它被设置为
//src/directory,它与加载程序配置中的'baseUrl'目录位于同一位置。(如果您更改
//因此,您还需要更新run.js。)
基本路径:“../src/”,
//这是发布目录中放置生成包的目录
//它本身是由“build.sh”定义的。您可能不应该使用它;它是一个可以追溯到Dojo的遗留选项
// 0.4.
//如果您确实使用这个,您也需要更新build.sh。
//releaseName:“”,
//构建一个新版本。
行动:‘释放’,
//尽可能去除CSS文件和@imports内的所有注释和空白。
//cssOptimize:“评论”,
//将测试、演示和原始模板文件排除在生成版本中。
米尼:是的,
//使用闭包编译器作为JavaScript缩略器。这也可以设置为“shrinksafe”以使用shrinksafe,
//虽然不推荐使用ShrinkSafe,但不推荐使用。
//如果未提供,此选项默认为“”(无压缩)。
优化:“”,
//我们正在构建层,所以我们需要将缩小器也设置为用于这些层。
//如果未提供,则默认为“shrinksafe”。
//layerOptimize:“闭包”,
分层优化:“”,
//剥离代码中对控制台函数的所有调用。您还可以将其设置为“警告”以剥离所有调用
//但是console.error和任何其他真实值都可以除去除了console.warn和console.error之外的所有内容。
//如果未提供此选项,则默认为“正常”(除警告和错误外,全部删除)。
stripConsole:'所有',
//默认情况下,dojo.js构建中不包括默认选择器引擎,以便生成移动构建
//更小。我们将其添加回这里以避免额外的HTTP请求。还有一个“lite”选择器可用;如果
//如果要使用它,还需要在'app/run.js'中设置'selectorEngine'属性
//仅适用于不支持IE7及更早版本的用户。)
选择发动机:“acme”,
//localeList:“英国、美国、德国、欧洲、法国、it、英国、韩国、中国、日本”,
//构建可以分为多个不同的JavaScript文件,称为“层”。这允许应用程序
//延迟加载大段代码,直到实际需要它们,同时仍然允许多个模块
//可以编译成单个文件。
图层:{
//这是主加载模块。它有点特殊,因为它被视为AMD模块,即使
//它实际上只是简单的JavaScript,在构建系统中有一些特别的魔力
//模块ID。
“道场/道场”:{
//除了加载程序'dojo/dojo'和加载程序配置文件'app/run',我们还包括
//主应用程序'app/main'和'dojo/i18n'以及'dojo/domReady'模块,因为
//在'app/main'中的所有条件依赖项中,我们不希望必须对此类请求发出额外的HTTP请求
//小文件。
包括:['dojo/i18n','dojo/domReady','app/main','app/run'],
//默认情况下,构建系统将尝试在构建的“dojo/dojo”层中包含“dojo/main”,这将添加
//一堆我们不想要或不需要的东西。我们希望初始脚本负载尽可能小,并且可以快速地加载
//尽可能地加载,因此我们将其配置为自定义的、可引导的基础。
靴子:是的,
customBase:正确
},
},
//向构建系统提供提示允许在比构建系统更细粒度的级别上有条件地删除代码
//简单的模块依赖可以允许。这对于创建微小的移动构建特别有用。
//请记住,死代码删除只发生在支持它的小型编译器中!目前,只有闭包编译器
//到Dojo构建系统,删除死代码。
//工具箱中使用的has标志的文档列表可在以下位置找到:
// .
静态特征:{
//跟踪和日志API用于调试加载程序,因此我们在构建中不需要它们。
“dojo跟踪api”:0,
“dojo日志api”:0,
//这会导致公开通常私有的加载器数据进行调试
//那也是。
“dojo发布隐私”:0,
//这个应用程序是纯AMD的,所以去掉旧的加载器。
“dojo同步加载程序”:0,
//'dojo xhr factory'依赖于'dojo sync loader',我们已将其删除。
“dojo xhr工厂”:0,
//我们不在生产环境中加载测试,所以我们可以去掉一些测试嗅探代码。
“dojo测试嗅探”:0
}
}

下面是src中的index.html/

注意:
build.sh
负责在 部署到生产环境中。如果您修改此标志,您将 打破结构


这是在dist中生成的index.html/


我检查以确保dojo/nls/dojo_en-us.js存在并且没有问题。我被困在这一点上,毫无头绪


非常感谢您为解决此问题提供的任何帮助。

您能在run.js中发布您的需求吗? 您需要“dojo/_base/config”吗

[刚刚注意到了相同的错误,因为我忘了;)]

来自文档:

注意dojoConfig和dojo/_base/config之间的区别很重要。dojoConfig纯粹用于输入目的,这是我们将配置参数传递给加载程序和模块的方式。在引导过程中,dojo/_base/config会被填充
<head>
    <script src="yourLibrary.js"></script>
    <script src="dojo/dojo.js"></script>
</head>
<script src="path/to/bootstrap.js"></script><!--UMD packaged library-->
<script src="path/to/dojo/dojo.js"></script><!--then dojo loader-->
<script src="path/to/dojo/dojo.js"></script><!--dojo loader first-->
<script src="path/to/bootstrap.js"></script><!--then UMD library-->