Dojo Twitter Bootstrap和Dijits

时间:2013-02-11 15:33:35

标签: javascript twitter-bootstrap dojo

我是Dojo和Dijit Themes的新手,我找到了一个带引导样式的Dijit主题,在这里:http://thesociable.github.com/dbootstrap/

我只需要使用Dojo dijits的主题,我真的不知道Dojo构建系统。我的目的是将dijits与现有站点集成。

如何使用dijit主题?有没有人知道任何具有现成版本的站点,易于与Dojo Bootstrap集成。

我想我从来没有看到过难以整合的东西。

2 个答案:

答案 0 :(得分:5)

我找不到任何人使用它或任何预先构建的版本。另外,我无法使build.py脚本工作(可能是Windows问题)。但是我设法使用Node编译Stylus主题文件。

我做了一个fork of the dbootstrap项目( NB:我不打算在这个fork上工作,这只是为了这个问题的目的。虽然,Dojo引导主题是一个很好的概念,所以可能会在某些时候使用它。)

我制作了一个zip of the compiled theme,其中包含一个示例页 test.html ,其中显示了如何使用它。您可以使用标准< link />直接链接到已编译的css的标记:

<link
    rel="stylesheet"
    type="text/css"
    href="scripts/bootstrap/theme/dbootstrap/dbootstrap.css"
/>

然后,您可以在通常的dojo庄园中设置页面样式:

<body class="dbootstrap">

但是,作者包含了一些需要使用Javascript导入的额外功能。我建议你使用require包含主题(如示例文件和下面所示):

<script type="text/javascript">
    require([
        "bootstrap",
        "dojo/parser",
        "dojo/ready"
    ], function(dbootstrap, parser, ready){
        ready(function(){
            parser.parse();
    })
});
</script> 

这可确保在为Dojo窗口小部件解析页面之前加载引导程序。您还需要关闭页面上窗口小部件的自动解析,并在dojoConfig中设置引导程序模块(以及dbootstrap使用的xstyle)的位置,例如:

<script type="text/javascript">
    var dojoConfig = {
        "async": true,
        "parseOnLoad": false,
        "packages": [{
            "name": "bootstrap",
            "location":"/scripts/bootstrap",
            "main":"main"
        }, {
            "name": "xstyle",
            "location":"/scripts/xstyle"
        }]
    };
</script>

您还需要在上述&lt; body&gt; 中加入class属性。

这有点令人费解,但示例文件应该让它更清晰一些。还应该注意的是,在这个庄园中加载css并不是一个很好的做法,它很可能会导致样式页面小部件的延迟。

NB:如果您尝试在Dojo中实现引导样式组件,那么您可能会感兴趣Dojo Bootstrap module

答案 1 :(得分:5)

我已将预先构建的主题版本上传到http://thesociable.github.com/dbootstrap/download/dbootstrap.tar.gz,并正在处理https://github.com/thesociable/dbootstrap/issues/29报告的Windows构建问题

与此同时,斯蒂芬辛普森的回答和项目README将有希望让你到达那里。如果您有任何其他问题,请随时在https://github.com/thesociable/dbootstrap/issues

报告