如何使用 Typescript 而不是 Javascript 在解析服务器中编写云代码?

Posted

技术标签:

【中文标题】如何使用 Typescript 而不是 Javascript 在解析服务器中编写云代码?【英文标题】:How do I use Typescript instead of Javascript for writing cloud code in parse-server? 【发布时间】:2020-07-10 06:36:43 【问题描述】:

我正在使用前端的 Angular 10 和后端的 Parse-Server 编写一个 Web 应用程序。

我想使用 Typescript 而不是 javascript 来编写我所有的云代码功能和作业,但我有点不确定如何设置它,在 Angular 中,一切都是“原生”Typescript,所以不需要在那里设置。

关于如何使用 Parse 设置 Typescript 的信息很少。我只找到了这篇不完整的中篇文章:https://medium.com/@avifatal/using-parseplatform-cloud-code-with-typescript-d27ded2e5054

如何设置 Typescript 而不是 Javascript 以在 parse-server 中编写云代码?

【问题讨论】:

您发现缺少信息的原因是 TypeScript 旨在在 JavaScript 工作的任何环境中工作,您只需要编译它。 Angular 在这里是一个异常值。 【参考方案1】:

我不熟悉 Angular,但我用 TypeScript 编写了许多项目,它们同时使用 Parse Server 和 Parse SDK for JavaScript。

Parse Server 本身没有任何类型定义,因此为了在您的项目中使用它,您必须确保在项目文件夹 (index.d.ts) 的某处创建类型定义文件并将模块声明为解析服务器,如下所示:

declare module 'parse-server'

但在这种情况下不要指望智能代码完成。

但是,如果您使用的是Parse SDK for JS,那么一切都会变得容易得多,因为您只需在您的package.json 中导入包@types/parse(连同parse 包),一切都应该开箱即用在你的 TypeScript 代码中。

如果您需要示例,我在 Parse Server 中使用云代码,您可以在此 repo 中找到。查看文件夹src/cloud.ts

【讨论】:

【参考方案2】:

根据我与客户在 SashiDo 上使用 Typescript 的经验,我可以告诉您的是,由于 Typescript 是编译为 JavaScript 的 JavaScript 的超集,因此您绝对可以在 Cloud Code 中使用它。您需要提供已编译的 JavaScript 文件以作为常规 JS 文件加载到云代码中。

您不需要 Parse JS SDK,因为它作为全局变量公开,以便您更轻松地使用和初始化它。

请注意,这仅适用于解析服务器版本 2.8.4 及更高版本。

您也可以将构建放在 postinstall 上,您的代码需要放在云目录中,并且您需要在其中有一个 main.js。这样您就可以将 .ts 文件存储在 repo 中并忽略 js 文件。

以下是安装后的示例: “安装后”:“npm 运行构建”

【讨论】:

以上是关于如何使用 Typescript 而不是 Javascript 在解析服务器中编写云代码?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 Typescript 而不是 Javascript 在解析服务器中编写云代码?

如何使用 usestate 和 setstate 而不是 this.setState 使用 react 和 typescript?

如何从本地目录而不是全局目录运行 TypeScript

如何使用Typescript监听文件夹,而不是文件

如何在 .ts 而不是 .js 中显示 Typescript 运行时错误/异常

如何在 Web 应用程序(ASP.NET Core)中使用 TypeScript 导入语句而不是 <reference path...>?