构建层不包含dojo/**/*。js文件
我正在尝试为我的项目创建一个图层。我希望图层包含 myProject/controllers/MainApp
及其在myProject
包中的所有依赖关系。我不想在我的图层中包含任何dojo,dijit或其他包。构建层不包含dojo/**/*。js文件
这是我到目前为止有:
var profile = (function() {
var locationPrefix = "something";
return {
basePath: "../src",
releaseDir: "../dojoRelease",
releaseName: "lib",
action: "release",
packages: [
{
name: 'dojo',
location: locationPrefix + '/dojo/dojo'
}, {
name: 'dijit',
location: locationPrefix + '/dojo/dijit'
}, {
...
}, {
name: 'myProject',
location: 'myProject',
destLocation: 'myProject'
}
],
layers: {
"myProject": {
include: ["myProject/controllers/MainApp"],
// QUESTION: How can I use exclude to not include all dojo modules?
// tried several things but none seem to work. Can't find any doc
// on what exclude takes as input.
// exclude: ["dojo/dojo"],
boot: false,
customBase: true
}
}
};
})();
的问题是,当我看着我的main.js.uncompressed.js它contins很多事情不是myProject
。这些都是在main.js.uncompressed.js文件中的第几行:
require({cache:{
'dojo/parser':function(){
define([
"require", "./_base/kernel", "./_base/lang", "./_base/array", "./_base/config", "./dom", "./_base/window",
"./_base/url", "./aspect", "./promise/all", "./date/stamp", "./Deferred", "./has", "./query", "./on", "./ready"
], function(require, dojo, dlang, darray, config, dom, dwindow, _Url, aspect, all, dates, Deferred, has, query, don, ready){
// module:
// dojo/parser
new Date("X"); // workaround for #11279, new Date("") == NaN
// data-dojo-props etc. is not restricted to JSON, it can be any javascript
function myEval(text){
return eval("(" + text + ")");
}
用于源:
- 的dijit/_Widget
- 道场/有状态
- 的dijit /破坏的
- dijit/_OnDijitClickMixin
- dijit/a11yclick
和许多其他文件也显示在main.js.uncompressed.js文件中。
如何限制main.js.uncompressed.js文件只能是我项目中的文件 ?谢谢!
更新:我试图从包的列表中删除道场,dijit的,等等。这会导致main.js.uncompressed.js或多或少地正确生成,编译器会在生成缩小文件时挂起。也有许多象这样的错误:
error(311) Missing dependency. module: myProject/controllers/someFile; dependency: dojo/_base/declare
error(311) Missing dependency. module: myProject/controllers/someFile; dependency: dojo/_base/lang
error(311) Missing dependency. module: myProject/controllers/someFile; dependency: dojo/Deferred
的问题是,当我看着我的main.js.uncompressed.js它 contins很多事情不是myProject的。
他们可能不会在 myProject的但你确定你没有利用任何地方的任何人?例如,在包含它的输出中,它显示someFile正在使用dojo/_base/declare函数。如果您在someFile模块的开头使用声明,那么您需要在图层中使用dojo来运行它。
error(311) Missing dependency. module: myProject/controllers/someFile; dependency: dojo/_base/declare
error(311) Missing dependency. module: myProject/controllers/someFile; dependency: dojo/_base/lang
error(311) Missing dependency. module: myProject/controllers/someFile; dependency: dojo/Deferred
上找不到什么排除作为输入的任何文档。
这是相同的格式包括 - 串模块阵列 - 在这里看到: http://dojotoolkit.org/documentation/tutorials/1.10/build/ http://dojotoolkit.org/reference-guide/1.10/build/
使用引导属性也将包含在你的层一些道场代码,你告诉使你的图层成为可启动的,所以它必须包含用于模块加载的dojo代码,让你加载其他模块。