edp
edp copied to clipboard
指定依赖库的build配置
搬家 https://github.com/ecomfe/edp-build/issues/37
目前的combine
配置在module.conf
文件中,该文件除了combine
信息外其它的目前应该都是自动维护的,所以如果支持更加灵活的combine
配置是否考虑独立成配置文件(combine.conf
)?
关于package
不同的combine
方式,是否是考虑由各package
的package.json
来维护?比如edp-build
在combine
的时候首先从独立的combine.conf
配置项中获取需要combine
的package
,如果没有详细的combine
配置则使用package
的default combine task
,同时也可以指定运行package
的combine task
同样prebuild
与postbuild
也在package.json
中配置
例如在esui/package.json
的配置中添加这样子的内容:
{
"edp": {
"targets": {
"all": {
"include": [],
"exclude": [],
},
"minimize": {
"include": [],
"exclude": [],
}
}
}
}
然后在biz
项目中的module.conf
里面这样子配置?
{
"combine": {
"common/main": {
"include": [ "esui:all", "er:minimize" ]
}
}
}
类似gyp
里面的配置方式:https://code.google.com/p/gyp/wiki/GypUserDocumentation#Skeleton_of_a_typical_library_target_in_a_.gyp_file
对,就是这样的~~,gyp
这货配置还挺复杂的,我们应该可以搞简单点~
把all
做为默认的target
,加上prebuild
与postbuild
的话,可能就是这样:
{
"edp": {
"build": {
"targets": {
"all": {
"include": [],
"exclude": [],
},
"minimize": {
"include": [],
"exclude": [],
}
},
"prebuild": "...",
"postbuild": "..."
}
}
}
话说prebuild和postbuild到底是干啥的,有实际的应用场景么?
比如控件预编译自己对应的模板为js代码之类的呗
https://github.com/ecomfe/edp/issues/260
有几个场景:
-
package.json
中有version
,main.js
中也有,希望main.js
中只要一个占位符,直接从package.json
导过去 - 比如一个项目我写的时候不用AMD Wrapper,build时自动加上
- 可以通过条件声明,build出min / full版本,如一个带有
underscore
所有方法的Model
对象是full版本,只有get/set
的是min版本,用户自选
1,2指的是你说的是prebuild, postbuild的情况么?
3是不同的target声明?
@firede @Justineo @erik168 @chriswong 这个issue里面提到的需求强烈么?