javascript - 获取错误消息 : Cannot create flattened bundle for src file

标签 javascript dojo

我正在尝试使用 Dojo 构建系统,使用 untjs.profile.js 配置文件将所有 Dojo 和自定义模块缩小并压缩到单个 JavaScript 文件中。该配置文件的示例代码如下:

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

我收到以下错误。

rhino load('./../../../untjs/untjs/dojox/grid/nls/DataGrid_ar.js') failed. Exception: SyntaxError: syntax error js: "./jslib/i18nUtil.js", line 244: exception from uncaught JavaScript throw: Cannot create flattened bundle for src file: ../../../untjs/untjs/dojox/grid/nls/ DataGrid_ar.js

另外,我不明白为什么 dojo 构建系统正在构建文件(例如 dojox.grid.datagrid),我根本没有将其包含在配置文件中。

我希望有人能解决这个令人沮丧的问题。

最佳答案

可能是编码问题。你的 jvm 是否有可能以 UTF-8 以外的默认值运行?我认为该工具应该指定 UTF-8,但如果使用其他内容,这可以解释错误。

优化设置会压缩树中的所有文件,而不仅仅是您正在构建的层,因此像 dojox.grid 及其 nls 依赖项这样的模块都会得到处理。如果您只想处理图层文件,请尝试使用layerOptimize。

关于javascript - 获取错误消息 : Cannot create flattened bundle for src file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3600622/

相关文章:

构建 dojo 时出现 css 语法错误

javascript - onStyleRow 事件不会保留进行排序、过滤或分页

javascript - 使用 javascript 或 jquery 检测 struts2 自动完成器标记值的变化

php - 提交后动态隐藏表单,所有用户

c# - 如何使用 JavaScript 为复选框事件使表的 "tr"可见?

javascript - 生成带有子数组的数组

javascript代码解释

jquery - 使用 jQuery 从 CDN 加载 Dojo

javascript - 什么是 OAuth 身份验证?

javascript - 基于 ng-repeat 的旋转木马组件