如何在多个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,
};

results matching ""

    No results matching ""