Javascript 有没有办法构建包含来自包位置的单个文件的Dojo模块?
我有一个小应用程序的以下构建配置文件:Javascript 有没有办法构建包含来自包位置的单个文件的Dojo模块?,javascript,build,dojo,Javascript,Build,Dojo,我有一个小应用程序的以下构建配置文件: var profile = (function(){ var copyOnly = function(filename, mid){ /* ..snip.. */ }; return { basePath: "../../src", releaseDir: "../dist", releaseName: "lib", action: "release
var profile = (function(){
var copyOnly = function(filename, mid){
/* ..snip.. */
};
return {
basePath: "../../src",
releaseDir: "../dist",
releaseName: "lib",
action: "release",
packages: [
'dojo',
'dijit',
//'dojox',
'amd',
{
name: 'lodash',
location: 'lodash',
trees: [
[".", ".", /(\/\.)|(~$)|(vendor|test)/]
]
},
{
name: 'd3',
location: 'd3',
main: 'd3.min',
trees: [
[".", ".", /(\/\.)|(~$)|(src|lib|test)/]
]
},
{ name: 'app', location: 'app' }
],
layers: {
"dojo/dojo": {
include: [ "dojo/dojo", "amd/d3","amd/gmaps",
"app/main", "app/run" ],
customBase: true,
boot: true
}
},
resourceTags: {
/* ..snip.. */
}
};
})();
问题是:我只需要Dojo构建系统处理的lodash.min.js文件。不幸的是,当您在概要文件中包含包定义时,生成系统会使用隐式的trees
值查看相关目录中的所有文件。您可以覆盖它(正如我在这里所做的那样)并添加一些ignore指令,但这很难看,会让您丢失一些内容。我想做的是明确指出我对构建过程中处理哪些文件感兴趣
Dojo允许您这样做吗?这方面的文档有点少,但是如果你能帮我找到一个更清楚地解释这一点的资源,那就太好了 至少从1.9开始,我相信这是可以做到的:
// ... snip ...
{
name:'lodash',
location:'lodash',
trees:[],
dirs:[],
files:[
["lodash.min.js"]
]
},
这会显式列出文件,同时还会挤压隐式树和目录发现
我在这里的信念是基于对util/build/discover.js
的粗略回顾——但在我阅读时,应该只支持文件