使用node+apollo-server + typescript 搭建 GraphQL API

本片文章翻译一篇 使用 apollo-server + typescript 搭建 GraphQL API

为什么要使用 Typescript?

Typescript是javascript的类型化超集,可编译为纯javascript真的很棒。始于JavaScript,归于JavaScript
Typescript 用于应用程序规模的javascript开发。随着javascript代码增长、无论是前端还是后端维护和重用代码都变得越来越困难。javascript无法进行强类型检查和编译时错误检查,因此提出Typescript弥补这种差距。

利弊

🚀javascript 超集:将您的.js文件重命名为.ts文件💥。Typescript具有易于学习的曲线,您可以逐步学习它
🚀先进的Javascript:TypeScript提供最新的和不断发展的JavaScript特性,包括那些来自2015年的ECMAScript和未来的提案中的特性,比如异步功能和Decorators,以帮助建立健壮的组件。
🚀编译: 如果Typescript发现某些语法错误,它将编译并生成编译错误。它有助于在脚本实际运行和失败之前突出错误。
🚀强类型:Typescript 通过TLS(Typescript Language Service)带有可选的静态类型和类型断言系统。此外还为IDE提供代码分析和自动补全功能。

🤷‍♂️ 没有弊端

创建基本 typescript配置

设置项目

$ mkdir typescript-apollo-express-graphql-api
$ cd typescript-apollo-express-graphql-api
$ npm init --y

安装依赖和初始化ts

安装 Typescript 并使用 npx生成 tsconfig.json文件

npm i typescript ts-node-dev -D
npx tsc --init --rootDir src --outDir dist --lib dom,es6 --module commonjs --removeComments

输出 Hello World 👋

  1. 创建 /src目录和 server.ts文件

mkdir src && cd src && touch server.ts

  1. 打印测试日志
// server.ts
console.log('Hey 👋');
  1. 调整package.json脚本如下:
  "scripts": {
   
    "dev": "ts-node-dev --respawn --transpileOnly ./src/server.ts",
  },

这样,您应该可以在终端中输入 npm run dev来启动 ts-node-dev并查看我们到打印的内容,如果文件内容更改则也会重新编译。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
npm warn deprecated apollo-server-core@3.12.0: the `apollo-server-core` package has been deprecated. 这个警告意味着`apollo-server-core`包已被废弃。废弃意味着它将在将来的版本中不再被维护或更新。当我们在使用npm安装或更新项目依赖时,如果看到这个警告,就意味着有一些问题需要解决。 在本例中,警告涉及到`apollo-server-core` 版本3.12.0。这个包是Apollo的一个核心组件,用于构建GraphQL服务器。然而,该版本已被废弃,这意味着它存在一些问题或者有更好的替代选择。 废弃的软件包存在一些风险,因为它们不再得到维护或更新。这可能导致安全漏洞、缺陷或不兼容问题。所以,我们需要尽快寻找替代方案。 为了解决这个问题,我们可以查看`apollo-server-core`的文档或发布信息,以了解更多关于废弃的原因和可能的替代包的信息。通常,`apollo-server-core`的维护者会提供一些指导或建议,告诉我们如何迁移到更新的版本或其他相关的包。 我们可以使用命令`npm outdated`来检查是否有更近的版本可用,并尝试更新到最新的兼容版本。如果没有直接的替代包,我们可以考虑使用类似的库或搜索其他的GraphQL服务器解决方案。 总之,当我们看到npm的警告废弃某个软件包时,我们需要密切关注相关的文档和发布信息,寻找替代方案,并尽快做出调整以避免可能带来的问题或风险。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值