1.1.3 • Published 1 year ago

@rfcs/core v1.1.3

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@rfsc/core Remote function call system

用途

  • バックエンドとフロントエンドを最小限の記述で連携させる

使い方

  • テンプレートの展開 npx init-rfcs

  • テンプレートのビルド npm build

  • テンプレートの実行 npm run

  • テストの実行 npm run test

テンプレートのファイル構成

.
│  tsconfig.json バックエンドコンパイル用
│
└─src
    ├─back [バックエンド用ディレクトリ]
    │  │  index.ts バックエンドスタート用ファイル
    │  │  tsconfig.json バックエンドコンパイル用
    │  │
    │  ├─modules [モジュール格納用]
    │  │      TestModule.ts サンプルモジュール
    │  │
    │  └─test
    │          index.ts バックエンドテストコード
    │
    ├─front [フロントエンド用ディレクトリ]
    │      index.ts フロントエンドスタート用ファイル
    │      tsconfig.json フロントエンドコンパイル用
    │      webpack.config.js フロントエンドビルド用
    │
    └─template [HTMLテンプレート置き場]
            index.html 初期ページ用HTML

プログラムの組み方

バックエンド側

Moduleクラスを継承しメソッドを@EXPORTでデコレーションすると、 フロントエンド側から呼び出しが可能となる

import {Module, EXPORT} from "@rfcs/core";

/**
 *テストモジュール
 *
 * @export
 * @class TestModule
 * @extends {Module}
 */
export class TestModule extends Module {
  @EXPORT //このデコレータを付けると外部公開される
  async add(a: number, b: number) {
    return a + b;
  }
}

フロントエンド側

Adapterクラスのインスタンスを作成し、adapter.execでバックエンド側のメソッドを呼び出す

const adapter = new Adapter("scripts");
const result = (await adapter.exec("TestModule.add", a, b)) as number;

関連リンク

ドキュメント

ライセンス

  • MITライセンス
1.1.1

1 year ago

1.1.0

1 year ago

1.1.3

1 year ago

1.1.2

1 year ago

1.0.5

3 years ago

1.0.4

3 years ago

1.0.3

3 years ago

1.0.2

4 years ago

1.0.1

4 years ago

1.0.0-rev2

4 years ago

1.0.0

4 years ago