2

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

不过,到目前为止,本教程非常有帮助。

这是我的文件结构:

  • dojo-release-1.8.3-src(未修改的 dojo 1.8.3 源代码)
  • 我的公司
    • 应用程序(我的源文件,包括 html、js、css 文件和编译的 dojo 文件)
    • mycompany.profile.js
    • 包.json
  • release // 构建文件应该放在这里
  • 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"
        }
    ]
};

我的公司/package.json

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

我的公司/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:[
        [".", ".", /(\/\.)|(~$)/]
    ]
  };
})();

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

4

1 回答 1

3

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

发布/profile.js

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

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

var list = {
  "app/app.profile.js":1,
  "app/package.json":1
};
于 2013-02-20T17:19:14.407 回答