本文介绍了Dojo构建1.7建包不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在我的建设项目开始时,我得到了不能明白为什么他们正在发生一些错误。

您可以看到我app.profile.js内容以下文件。我执行
建立配置文件= .. / .. / app.profile.js -r从命令提示符下这条线上,我没有得到任何错误的过程完成后。我的问题是,如果我复制这些包的地方释放(建)版本,其中未建的版本存在,我得到这样太多的JavaScript错误错误:multipleDefine 。即使我只复制道场,DojoX中和的dijit文件夹,同样的错误是不断发生的历史。

当我看到建未建与JS 2的文件之间的差异,(例如道场/递延)我知道唯一的区别是这样的:

  //建
定义(道场/延迟,[
        ./_base/lang
        ./promise/CancelError
        ./promise/Promise
],功能(


 定义([
        ./_base/lang
        ./promise/CancelError
        ./promise/Promise
],功能(

所以我一开始一点点被卡住。我想用层尽快减少HTTP请求来尝试,但我需要了解我所说的情况有所帮助。任何帮助将大大AP preciated,谢谢。

app.profile.js:

 无功配置= {
    基本路径:..,
    layerOptimize:shrinksafe.keepLines
    优化:ShrinkSafe的
    RELEASEDIR:./release
    hasReport:真实,    包:
        {
            名称:道场,
            位置:./dojo
        },        {
            名称:的dijit
            位置:./dijit
        },        {
            名称:应用程序,
            位置:./app
        },
        {
            名称:DTK
            位置:./dtk
        },
        {
            名称:DojoX中
            位置:./dojox
        }
    ]    层:{
        应用程序/层/芯:{
            包括:
                        道场/ _base /申报,
                        DTK /芯/ ILifeCycle,
                        DTK /核心/ AppConfig的
                        DTK /芯/ TopicContext,
                        DTK /芯/ NavigationContext,
                        道场/规定,
                        道场/ _base /延迟,
                  道场/ DeferredList
                        道场/ _base /郎
            ]
        },
        应用程序/层/ appcontext:{
            包括:
                DTK /核心/ AppContext
            ]
            排除:
                应用程序/层/芯
            ]        }    }
};


解决方案

道场生成器将一个模块标识符,除非你告诉它不添加到每个模块定义。这可以产生的 multipleDefine误差

从:

I was having exactly the same problem until I added insertAbsMids:false to my profile.

eg:

var profile = {
    basePath: "./",
    releaseDir: "release",
    action: "release",

    layerOptimize: "shrinksafe",
    optimize: "shrinksafe",
    cssOptimize: "comments",
    mini: false,
    insertAbsMids: false,

    packages: [
        { name: "dijit", location :"dijit" },
        { name: "dojox", location :"dojox" },
        { name: "dojo", location :"dojo" }
    ]
}

这篇关于Dojo构建1.7建包不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-01 20:52