如何使用 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?
如何在 .ts 而不是 .js 中显示 Typescript 运行时错误/异常
如何在 Web 应用程序(ASP.NET Core)中使用 TypeScript 导入语句而不是 <reference path...>?