Page Contents
  
 
    
   This is a community translation into Chinese. For the latest information, see the English version.
  
总览
在 LoopBack 4 中,DataSource(数据源)是一个连接器(Connector)实例的命名配置,它代表了一个外部系统的数据。连接器(Connector)用于legacy-juggler-bridge (传统映射桥)以驱动 LoopBack 4 的存储库(Repositories)进行数据操作。

创建一个数据源(DataSource)
建议使用 CLI 提供的lb4 datasource命令来生成数据源(DataSource)。CLI 会提示全部必要的的连接器信息,并创建下列文件:
- ${dataSource.dataSourceName}.datasource.json包含了连接器(Connector)。
- ${dataSource.dataSourceName}.datasource.ts包含了扩展了- juggler.DataSource的类。这个类可以用于编程覆写默认的数据源(DataSource)行为。 注意:这个连接器配置存储在- .json文件,并使用依赖注入(Dependency Injection)注入到类中。
CLI 会将上述两个文件生成在src/datasources/目录中。
它同时也会更新src/datasources/index.ts来导出新的数据源(DataSource)类。
数据源(DataSource)类示例如下:
import { inject } from "@loopback/core";
import { juggler } from "@loopback/repository";
import * as config from "./db.datasource.json";
export class DbDataSource extends juggler.DataSource {
  static dataSourceName = "db";
  constructor(
    @inject("datasources.config.db", { optional: true })
    dsConfig: object = config
  ) {
    super(dsConfig);
  }
}