无法在运行时将 schema.gql 写入 Google 的 App Engine NestJS

Posted

技术标签:

【中文标题】无法在运行时将 schema.gql 写入 Google 的 App Engine NestJS【英文标题】:Cannot write schema.gql to Google's App Engine at runtime NestJS 【发布时间】:2020-07-17 04:59:16 【问题描述】:

我正在使用 NestJS,我正在使用他们的 graphql 包。

https://docs.nestjs.com/graphql

Nest 在运行时生成 schema.gql 文件。这会导致 google 的 App Engine 出现问题,因为默认情况下,应用程序无法写入文件系统。

UnhandledPromiseRejectionWarning: Error: EROFS: read-only file system, open 'schema.gql'

我知道在文件系统上存储数据会是个问题,但是在运行时生成的这个 schema.gql 文件对于应用程序运行来说是必不可少的,如果它被复制也没关系。

有没有我想念的解决方法?我可以让它以某种方式生成服务器端吗?或者有什么方法可以在构建应用程序时将其与编译时间分开?

任何帮助都会得到帮助:)

【问题讨论】:

【参考方案1】:

向 NestJS Discord 大声疾呼,@TreeMan360 回答了这个问题!

你在哪里:

autoSchemaFile

在你的

GraphqQLModule.forRoot(...

设置为:

true

它为您提供了一个自动的、仅在内存中的模式。我这样做是这样的:

GraphQLModule.forRoot(
      autoSchemaFile: isLocalEnvironment() ? 'api-public.schema.gql' : true,
      playground: !isProductionEnvironment(), ...

按照这些说明解决了我的问题!不错吧?

【讨论】:

以上是关于无法在运行时将 schema.gql 写入 Google 的 App Engine NestJS的主要内容,如果未能解决你的问题,请参考以下文章

在运行应用程序时将数据写入 plist 并将它们读取到 UITable

Azure 数据工厂集成运行时将无法启动

在JavaScript中写入文件时将每个字符串附加到新行[重复]

NestJs GraphQL 游乐场访问

React Native 无法在应用程序 webview 中打开 url:intent://photos.app.goo.gl/

在创建用户时将数据写入 Firestore 不起作用