Cli入口和核心应用
Cli 入口
用户可以在终端输入以下命令启动核心应用(fxd-app-core)
fxd _login
或其他子应用(比如 fxd-app-check-chan...)
fxd checkChan --url="https://sct.ftqq.com" --selectors=".marktext table"
应用的载入逻辑可参考以下代码:
// 如果命令不存在,则默认为 core help
if( !command )
{
command = 'core';
params = ['help'];
}
// 如果命令以 _ 开头,则为内部命令,转向 core
if( command.startsWith('_') )
{
// 内部命令
params = [command.slice(1), ...params];
command = 'core';
}
// 检查 fxd_app_${command} module 是否存在(ESM语法)
let module;
const formattedCommand = humps.decamelize(command, { separator: '-' });
const packageName = `fxd-app-${formattedCommand}`;
try {
// 调试模式则加载本地文件
const thePath = DEV ? path.resolve(__dirname, `../${packageName}/index.js`) : `${packageName}`;
const app = await import(thePath);
module = new app.default();
// 如果存在 module.run 方法,则执行
if (module && module.run) {
await module.run(params, opts);
}else
{
console.log("no module.run", module);
}
}
catch(e)
{
//...
}