前后端代码共用

因为前后端都是 Typescript,所以 部分代码TS类型 是可以公用的。

公用代码相关文件:

  • src/common/*.ts 公用的辅助函数和类型
  • src/i18n/*.ts 公用的 i18n 文件
  • *.apiconf.ts API 配置文件
  • */entity/**/*.ts

注意

在写公用代码文件之前,需要注意以下几点规则:

  • 公用代码之间文件可以互相引用,但是需要以 import { sleep } from '/src/common/utils' 这种方式,请不要使用相对路径引用
  • 公用代码里面请不要使用 node 模块(前端不能使用的 node 模块,比如 fs 以及 http等)
  • src/modules/* 模块与模块之间的代码,除了 src/modules/entity/*.ts 之外,其他代码在公用文件里面请不要互相引用。而且引用的方式需要为:import { TodoItem } from '/src/entity'

打包命令

yarn build:sdk

打包命令通过执行脚本将上方提到的公用代码相关文件整理到 src/packages/fe-sdk/ 里面,再通过 tsdx 打包,可以提供给 js 或者 ts 其他项目使用。同时会根据 *.apiconf 生成前端直接调用 API 的代码。

前端使用

import { setToken, SignIn, SignInReq } from "@nsf/fe-sdk/lib/api/user";
import logger from "@nsf/fe-sdk/lib/logger";
import { i18n } from "@nsf/fe-sdk/lib/i18n";
// print
logger.debug("hola %s", world);
logger.info(i18n.t("example.hello"));
// login
SignIn({
username: "lyly",
password: "123456",
});