Closed treelite closed 9 years ago
目前还没有实际应用,只是遇到了这类需求,暂时通过改变 moduleId
来绕过去了。期待的方式是完整支持map配置,比如这样:
{
"baseUrl": "src",
"packages:": [
{
"name": "lang",
"location": "../dep/lang/1.0.0/src"
},
{
"name": "lang-2",
"location": "../dep/lang/2.0.0/src"
}
],
"map": {
"biz1": {
"lang": "lang-2"
}
}
}
全局使用 lang
是 1.0.0
,单独在 biz1
模块中使用 2.0.0
版本,以此来解决项目同一个第三方模块多版本并存的问题
这个 esl 就会处理了,edp build 不需要做啥额外的工作耶
嗯 嗯, 模块编译部分应该不用改~ 不过在 combine
的时候是否需要考虑自动合并 map
过的依赖?目前的话还是需要手动指定包含 lang-2
模块
@treelite 你的意思是在合并biz1
代码的时候,把lang-2
的依赖也加入进去,是么?
// biz1.js
define(function (require) {
require('lang');
});
经过build
之后,最终的输出是这样子
// biz1.compiled.js
define('lang-2', function (){});
define('biz1', function() {
require('lang');
});
结果正确么?@errorrik @erik168
@treelite 试试最新的npm i -g edp-build@beta
,看看是否OK了,我新增的几个测试用例貌似可以跑通过,你就看看如果没有你们特殊的处理,build之后的项目是否可以work。
@treelite 发一下你们的 module.conf,让我瞅瞅你们是怎么用的。