首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >Loopback4挑战

Loopback4挑战
EN

Stack Overflow用户
提问于 2019-06-26 02:44:39
回答 1查看 503关注 0票数 1

我是这个循环4非常新的。当我设置我的项目,我有一些设置问题。下面是几件事。

  1. 基于环境的数据源加载没有根据环境直接加载数据源的方法。
  2. 为了访问整个应用程序,需要在JSON文件上定义一些配置/常量变量,这也是基于环境的。
  3. 无法连接MongoDB Atlas数据库。在一个快速应用程序中,我可以连接,但不能在回收站。下面是它正在返回的错误。url.dbName = self.settings.database,^ TypeError:无法读取属性'dbName‘的null
  4. 无法实现模型关系。
  5. 我不想在API响应中返回整个模型。如何使用模型自定义API响应?
  6. 我希望将业务逻辑写入一个单独的文件中,而不是在控制器/存储库中。这是一个好主意还是我应该在哪里返回业务逻辑?以及最佳做法。

我没有找到适当的Loopback4文档来解决这些问题。任何帮助都将不胜感激。

EN

回答 1

Stack Overflow用户

发布于 2019-06-28 05:08:56

让我试着帮你拿几个。

1-通过向datasource.ts文件的构造函数添加下面的内容,您可以完成基于env的ds配置加载。

代码语言:javascript
运行
AI代码解释
复制
constructor(
  @inject('datasources.config.pgdb', {optional: true})
  dsConfig: object = config,
) {
  // Override data source config from environment variables
  Object.assign(dsConfig, {
    host: process.env.DB_HOST,
    port: process.env.DB_PORT,
    user: process.env.DB_USER,
    password: process.env.DB_PASSWORD,
    database: process.env.DB_DATABASE,
    schema: process.env.DB_SCHEMA,
  });
  super(dsConfig);
}

在此之后,您可以使用像多滕诺夫这样的包来使env远离您的回购。

2-使用多滕诺夫。在application.ts中加载dotenv配置。将其添加到application.ts的末尾。

代码语言:javascript
运行
AI代码解释
复制
dotenv.config();

您可能需要像这样导入dotenv

代码语言:javascript
运行
AI代码解释
复制
import * as dotenv from 'dotenv';

3-不确定这一点,但请检查数据源生成器这里是否支持它。

4.目前只有3种关系得到支持。而且,根据我的经验,对于大多数应用程序来说,这已经足够了-- belongsTo、hasMany、hasOne。有关详细信息,请参阅docs 这里

5-您可以返回任何您想要的定制型号。只需确保它从@loopback/存储库扩展实体类。此外,请确保使用@property装饰符定义属性类型。

6-您可以将业务逻辑移动到服务类或创建提供者。我们过去常常将DB特定的操作逻辑(如自定义查询等)保存在控制器内的存储库和业务逻辑的其余部分中。但是,如果有一个很大的复杂逻辑,则创建一个提供程序类并执行它。请参考提供程序这里的文档。

我们还在github上创建了一个锅炉板启动项目,以帮助像您这样的社区成员启动一些基本的东西。上面提到的大部分内容都是在那里实现的。你只需克隆它,更改遥控器网址,所有设置就可以了。看看这里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56770973

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档