小编Rem*_*mco的帖子

Dojo构建css和自定义javascript

我已经设置了一个使用三个dojo小部件的html页面,我正在尝试使用dojo 1.7.5从它创建一个自定义构建.构建成功留下了一个dojo.js,其中包含使用此构建文件所需的文件:

var dependencies = {
action: "release",
selectorEngine: "acme",
stripConsole: "none",
cssOptimize: "comments.keepLines",

layers: [
    {
        name: "dojo.js",
        dependencies: [
            "dijit.form.ValidationTextBox",
            "dijit.form.DropDownButton",
            "dijit.form.Button",
            "dijit.form.Form",
            "dijit._base",
            "dijit._Container",
            "dijit._HasDropDown",
            "dijit.form.ComboButton",
            "dijit.form.ToggleButton",
            "dijit.form._ToggleButtonMixin",
            "dojo.parser",
            "dojo.date.stamp",
            "dojo._firebug.firebug"
        ]
    }, {
        name: "../test/test.js",
        dependencies: [
            "test.test"
        ]
    }
],

prefixes: [
    [ "dijit", "../dijit" ],
    [ "dojox", "../dojox" ],
    [ "ourpeople", "../ourpeople" ]
]
};
Run Code Online (Sandbox Code Playgroud)

我似乎无法找到答案的问题:

  • 我正在使用cssOptimize,我期待一个单独的css文件,其中导入了所有使用过的css文件.但是我找不到这样的文件.这是dojo压缩它的css的方式还是我的期望错了?如果是这样,我可以在我的发布文件夹中找到它?
  • 我的test.js包含一个函数test1(),如果我从我构建的js中调用它,则表明test1未定义.我直接调用该函数而没有dojo.我假设构建自定义js只有在使用declare的dojo类时才有效吗?
  • 最后一个问题,我需要手动在构建中包含几个dojo文件,例如dojo._firebug.firebug,因为在我的初始构建之后,它仍然使用xhr调用来获取这些文件.手动包含文件后,我仍然看到从dojo到特定资源的xhr调用:dojo/nls/dojo_ROOT和dijit/form/nls/validate.js.这些文件是在构建过程中创建的,因此不能包含在构建配置文件中的依赖项中.任何有关此事的任何想法,因为我想在单个文件中分发dojo.

我是相当新的dojo构建系统和(特别是)所以也许我期待dojo构建系统不是设计用于或者可能会以错误的方式进行此操作,如果有任何提示或建议超过欢迎.

干杯!

Test.js:

function test1() {
    console.log("test1");
}
Run Code Online (Sandbox Code Playgroud)

index.php文件:

<script type="text/javascript" src="js/release/dojo/dojo/dojo.js"></script>
<script type="text/javascript" src="js/release/dojo/test/test.js"></script> …
Run Code Online (Sandbox Code Playgroud)

javascript dojo dojo-build

4
推荐指数
1
解决办法
1401
查看次数

标签 统计

dojo ×1

dojo-build ×1

javascript ×1