我试图使用Dojo将所有Dojo和自定义模块缩小并压缩到一个JavaScript文件中,使用untjs.profile.js配置文件。此概要文件的示例代码如下所示:
dependencies = {
layers: [{
name: "dojo.js",
customBase: true,
discard: true,
dependencies: ["dojo.dojo","dojo._base","dojo.parser", "dojo.string", "dojo.cache", "dojo.hash", "dojo.fx", "dojo.widget.*", "dojo.widget.ContentPane", "dojo.date", "dojo.date.stamp", "dojo.cookie", "dojo._base.event", "dojo.date", "dojo.date.stamp", "dojo.fx", "dojo.i18n"]
},
{
name: "../dijit/dijit.js",
resourceName: "dijit",
dependencies: ["dijit.dijit", "dijit.layout.LayoutContainer", "dijit.Menu", "dijit._KeyNavContainer", "dijit.MenuItem", "dijit.Dialog", "dijit.form.Button", "dijit.layout", "dijit.layout.ContentPane", "dijit.layout.TabContainer", "dijit.form.Textarea", "dijit.form.SimpleTextarea", "dijit.Dialog", "dijit.dijit-all", "dijit.form.SimpleTextarea", "dijit.form._FormWidget", "dijit._Widget", "dijit._Templated", "dijit._base", "dijit._Container", "dijit._HasDropDown", "dijit.layout._TabContainerBase", "dijit.layout.TabController", "dijit.layout.ScrollingTabController", "dijit.layout.StackContainer", "dijit._Templated", "dijit.layout._LayoutWidget", "dijit._Container", "dijit._Contained", "dijit.layout.StackController", "dijit.layout.SplitContainer", "dijit.form.ToggleButton", "dijit.TitlePane"],
discard: true
}, {
name: "../dojox/layout/ScrollPane.js",
resourceName: "dojox.layout.ScrollPane",
layerDependencies: ["dojo.js", "../dijit/dijit.js"],
dependencies: ["dojox.layout.ScrollPane"],
discard: true
}, {
name: "../untjs.js",
resourceName: "untjs",
layerDependencies: ["dojo.js", "../dijit/dijit.js", "../dojox/layout/ScrollPane.js"],
dependencies: ["global.init", "global.untconfig", "global.historymanager", "user.cookiedata", "user.registration", "user.auth", "common.animation", "common.category", "common.fields", "common.header", "common.nodes", "common.popup", "common.posttype", "common.timestamp", "common.validation", "common.watermark", "common.category", "page.home", "page.profile", "page.people", "page.terms", "page.about", "page.landing", "page.privacy", "page.template", "xhr.friends", "xhr.suggestions", "xhr.requests", "xhr.categories", "xhr.posts", "xhr.comments", "xhr.terms", "xhr.about", "xhr.userinfo", "xhr.privacy", "xhr.cookieUnT", "xhr.registerUnT", "controls.fbinvite", "controls.friends", "controls.mylikes", "controls.activitystream", "controls.people", "controls.requests", "controls.suggestions", "controls.userinfo", "controls.tellsomethingbox"]
}],
prefixes: [["dijit", "../dijit"],["dojox", "../dojox"], ["global", "../../global"], ["page", "../../page"], ["user", "../../user"], ["xhr", "../../xhr"], ["common", "../../common"], ["controls", "../../controls"], ["catalog", "../../catalog"]]
};但是,当我以以下方式执行build.bat命令时:
build.bat release
Name=untjs releaseDir=..\..\..\untjs profileFile=..\..\..\untjs.profile.js actio
n=clean,release optimize=shrinksafe mini=true internStrings=true我得到了以下错误。
load('./../../../untjs/untjs/dojox/grid/nls/DataGrid_ar.js')犀牛
失败了。异常: SyntaxError:语法错误js:"./jslib/i18nUtil.js",第244行: JavaScript抛出的异常:无法为src文件创建扁平的包:./untjs/untjs/dojox/grid/nls/ DataGrid_ar.js
此外,我也不明白为什么dojo正在构建文件(比如dojox.grid.datagrid),我根本不包括在概要文件中。
我希望有人能回答这个令人沮丧的问题。
发布于 2010-09-11 16:28:44
可能是编码问题。除了UTF-8之外,您的jvm是否有可能以默认的方式运行?我认为工具应该指定UTF-8,但是如果使用了其他东西,这将解释错误。
优化设置压缩树中的所有文件,而不仅仅是正在构建的层,因此像dojox.grid及其nls依赖的模块会被处理。如果您希望只处理您的层文件,请尝试使用layerOptimize。
https://stackoverflow.com/questions/3600622
复制相似问题