如何在多个XARPackage间共享辅助类库
多个XARPackage开发的情况下,公共辅助类库是一个常见的需求。
首先,通过交互式方式创建一个package名为lib, pacakge类型为静态库的包:
bucky@bucky ~/D/d/b/calc> bucky add -i
...
请选择要操作的项目:
────────────────────
1. 新建项目
2. src/test
$请输入序号:2
◎ 添加新package到项目src/test....
$请输入package名字:lib
选择package类型:
────────────────────
1. 新建package
2. 示例package
3. 静态库
$请输入序号:3
则,增加了一个静态类库包src/test/lib:
├── src
│ └── test
│ ├── calc
│ │ ├── calc.js
│ │ ├── config.json
│ │ └── onload.js
│ └── lib
│ ├── config.lib.json
│ ├── lib.js
│ └── onload.js
注意lib下只有一个config.lib.json,而不是config.json,我们在lib下增加一个util.js:
// src/test/lib/util.js
function hello(info){
BX_INFO(info);
}
module.exports = {
hello
};
则,目录结构变为:
├── src
│ └── test
│ ├── calc
│ │ ├── calc.js
│ │ ├── config.json
│ │ └── onload.js
│ └── lib
│ ├── config.lib.json
│ ├── lib.js
│ ├── util.js
│ └── onload.js
则,我们可以在src/test/calc/calc.js里直接使用相对路径require该util模块:
// src/test/calc/calc.js
var Util = require('../lib/util');
async function div(){
Util.hello('call util here');
}
module.exports={
__main,
div,
};