Dojo 自定义构建 : which files to deploy

标签 dojo dojox.mobile

首先,我们是 Dojo 的新手,可以自由地以"new"方式做事,所以我基本上忽略了文档中 1.7 之前的部分。不过,在比较各种文章、文档和示例脚本时,我仍然感到困惑。

最重要的是,我找不到关于如何为 Dojo 创建和部署自定义构建的直接文章。最具体地说,我们需要部署哪些 .js 和 .css 文件。有很多documentation on creating a build ,但我在部署时没有找到。

我最终了解到,将所有内容构建到单个 dojo.js 中对于移动设备来说是一种合理的做法,我只需从构建目录中提取一个文件并将其部署到我的服务器,但后来我发现缺少 CSS引用文献,而且似乎反复试验并不是解决这些问题的正确方法。

这是我们当前的具体案例:

<script type="text/javascript">
        require(
                // deviceTheme to auto-detect device styles
                [   
                    "dojox/mobile",
                    "dojox/mobile/parser",
                    "dojox/mobile/deviceTheme"
                ]);
</script>

这是构建配置文件:

dependencies = {
    stripConsole: "normal",

    layers: [
        {
            name: "dojo.js",
            customBase: true,    // prevent automatic inclusion of dojo/main
            dependencies: [
                "dojox.mobile.parser",
                "dojox.mobile",
                "dojox.mobile.deviceTheme"
            ]
        }
    ],

    prefixes: [
        [ "dijit", "../dijit" ],    // example included; not clear why
        [ "dojox", "../dojox" ]
    ]
}

(由 dojo-release-1.7.2-src\dojox\mobile\build\build.bat 脚本执行。)

所以我想具体的问题是:

  1. 我为这个案例部署了哪些 CSS 文件?
  2. 我一般如何知道要部署哪些文件,包括 CSS 文件?
  3. 我缺少一个很好的当前教程吗?
  4. 现有的脚本是最新的吗?例如,为什么 mobile-all.profile.js 使用 dependencies= 而不是 1.7 build tutorialprofile=描述?

最佳答案

我为这个案例部署了哪些 CSS 文件?

这是有条件的,如果页面使用特定模块并且它有自己的 css 规则,则包含它们。

这不是 方式,而是从 dojo.css(基础、重置)、dijit.css(基础、布局等)、nihilo.css(示例主题)和 android 开始。 CSS(示例主题)将成为一个很好的基础

  • 如果您想使用主题,请包含“基本名称”,例如dojox/mobile/themes/iphone/iphone.css
  • 例如,如果 iphone.css 没有“@import”某些您使用的外来小部件,请包含由小部件本身提供的 css(例如,dojox/widget/ColorPicker/ColorPicker. css)。每个小部件的文档_不应包含此内容。

我一般如何知道要部署哪些文件,包括 CSS 文件?

  • 上传所有文件并没有什么坏处,加载器将决定从缓存构建中获取哪些文件,保留哪些文件以及在运行时下载哪些文件。
  • 部署所有内容.. 当您构建“action=release”时,所有文件都在定义的前缀 dojo(默认值,allways)、dijit、dojox 和您添加的任何包内缩小。
  • 构建会优化工具包树,部署全部,否则您可能会遇到缺少条件包含(例如 Toggler.js 或 acme.js 选择器等)的情况。

我缺少一个很好的当前教程吗?

通过“thumbrule”,任何 1.6+ 的文档都是稳定的,但他们大多说相同。当您启动配置文件时,它可能会经历一些试验和错误(脚本文件的 inline-html 包含顺序是最重要的)。您发布的内容看起来不错,但请考虑是否需要 customBase:true。

确保您拥有 seen this对于版本 1.6-1.7 和 version 1.8

现有的脚本是最新的吗?例如,为什么 mobile-all.profile.js 使用 dependencies= 而不是 1.7 构建教程描述的 profile=?

您可以使用现有的,开箱即用。然而,构建器正在发生变化,与备受争议的 2.0 版本相抗衡。目前,新方案和常规方案一样被允许。但实际上变量名可以是 foo 或 bar,只是使用变量的值。该文件必须“返回”一个对象。

据我了解,原因是CommonJS Packages/1.0是 AMD 和 builder 1.7+ 的新圣经。然而,它一直是包层次结构所遵循的“拇指”方案——但随着我们接近 2.0,语法很可能会变得越来越严格。 (看看你是否可以在#dojo @ irc.freenode.org 上连接 snover)

关于Dojo 自定义构建 : which files to deploy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11253554/

相关文章:

javascript - 在 Intern 3.x 中测试 Dojo 1.x 应用程序

javascript - Dojox/mobile/scrollableview 滚动问题

javascript - 道场无限弹跳动画

ios - dojox.mobile.SearchBox 无法正常工作

javascript - Dojo - 如何以编程方式修改 dojo-props?

javascript - dojo mobile 中的字母滚动条

javascript - CBC 模式下的 crypto-js DES(或三重 DES)加密

javascript - dojo/on with mouseenter, mouseleave 在 Google Chrome 中不工作

Dojo DataGrid 非常慢