如何制作位于"黑盒子内的构建配置文件参考模块"库层?

时间:2015-03-30 21:02:29

标签: dojo dojo-build

这些教程让我使用了Dojo构建系统。但是,我留下了一个问题,即在我的案例中决定是否可以部署完全构建的版本。教程可能会解释它,但我没有得到它。如果是这样的话,请道歉!

我使用一个位于AMD层内的库;我们称之为blackboxLayer.js。该层内有几个包,但我想如果只有一个包,问题就会一样。因此,我们假设blackboxLayer.js包含一个名为blackbox的程序包,其中包含模块blackbox/Ablackbox/B。为了确保事情变得有趣,该图层是可启动的。当然,它是封闭源代码。

我的应用模块参考blackbox/Ablackbox/B。如何使我的构建配置文件在blackbox文件中查找blackboxLayer.js包,而不是在目录中?

感谢您的任何意见。 :)

2 个答案:

答案 0 :(得分:1)

如果构建文件blackboxLayer.js位于相对路径/release/blackbox/layers中,则会有一个单独的dojo层

<script type="text/javascript" src="path to dojoLayer.js"></script>

var dojoConfig = {
    packages: [
        { name: 'blackbox', location: 'release/blackbox' }
    ]
};

然后该函数内的代码可以引用模块A和B,

require(['blackbox/layers/blackboxLayer'],
function () {
    require(['dojo/parser', 'dojo/ready'],
    function (parser, ready) {
        ready(function () {
            require(['blackbox/A', 'blackbox/B'],
            function (blackboxA, blackboxB) {

                // call blackboxA and blackboxB

            });
        });
    });
});

如果没有单独的dojo图层,您可以在脚本标记中引用blackboxLayer.js,并省略包def并需要blackboxLayer。

答案 1 :(得分:0)

我发布此问题以来我一直在使用的临时解决方案是不使用dojo的构建器...而是使用轻量级的grunt模式将AMD源连接到一个层,然后我从dojoConfig的{引用该层' {1}}财产。这里可以看到连接过程:https://github.com/mdolidon/grunt-amd-concat