Dojo:构建自定义配置

时间:2013-02-20 17:00:19

标签: javascript html dojo

我正在尝试构建自定义dojo配置。 我不得不承认我没有完全理解官方文件。

到目前为止,

This tutorial一直非常有帮助。

这是我的文件结构:

  • dojo-release-1.8.3-src(未触动的dojo 1.8.3源代码)
  • myCompany的
    • app(我的源文件包括html,js,css文件和已编译的dojo文件)
    • mycompany.profile.js
    • 的package.json
  • 发布//构建文件应该到这里
  • release.profile.js

在这里你可以看到我如何执行构建脚本,我认为错误发生在第10行

http://pastebin.com/embed_js.php?i=XrXiUWf2

我的重要文件内容:

release.profile.js

 var profile = {
    basePath: "./",
    releaseDir: "./release",

    packages:[
        {
            name: "dojo",
            location: "./dojo-release-1.8.3-src/dojo"
        },
        {
            name: "dijit",
            location: "./dojo-release-1.8.3-src/dijit"
        },
        {
            name: "dojox",
            location: "./dojo-release-1.8.3-src/dojox"
        },
        {
            name: "mycompany",
            location: "./mycompany"
        }
    ]
};

myCompany的/的package.json

 {
"name": "app",
"description": "My Application",
"version": "0.1"
}

myCompany的/ mycompany.profile.js

 var profile = (function(){
  copyOnly = function(filename, mid){
    var list = {
    "mycompany/dojo.profile":1,
    "mycompany/package.json":1
    };
    return (mid in list) || /(css|png|jpg|jpeg|gif|tiff)$/.test(filename);
  };

   return {

    resourceTags:{
        test: function(filename, mid){
            return false;
        },

        copyOnly: function(filename, mid){
            return copyOnly(filename, mid);
        },

        amd: function(filename, mid){
            return !copyOnly(filename, mid) && /\.js$/.test(filename);
        }
    },

    trees:[
        [".", ".", /(\/\.)|(~$)/]
    ]
  };
})();

我希望我已经为您提供了必要的信息,我们可以解决问题。 到目前为止,我花了一整天的时间。

1 个答案:

答案 0 :(得分:3)

与教程相比,您需要包含一个额外的目录 - 因此需要修改一些内容。

释放/ profile.js

{
  name: "app",
  location: "./mycompany/app"
}
  • mycompany / package.json应移至mycompany / app / package.json
  • mycompany / mycompany.profile.js应该移动到 myCompany的/应用/ app.profile.js

在app.profile.js中进行以下更改

var list = {
  "app/app.profile.js":1,
  "app/package.json":1
};