Serverless中怎么使用typescript + nodejs进行开发

发布时间:2021-11-08 14:04:42 作者:iii
来源:亿速云 阅读:192

这篇文章主要讲解了“Serverless中怎么使用typescript + nodejs进行开发”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Serverless中怎么使用typescript + nodejs进行开发”吧!

前言

首先介绍下在本文出现的几个比较重要的概念:

函数计算(Function Compute):函数计算是一个事件驱动的服务,通过函数计算,用户无需管理服务器等运行情况,只需编写代码并上传。函数计算准备计算资源,并以弹性伸缩的方式运行用户代码,而用户只需根据实际代码运行所消耗的资源进行付费。函数计算更多信息参考。 Aliyun Serverless VSCode Extension: 是阿里云 Serverless 产品 函数计算 Function Compute 的 VSCode 插件,该插件结合了 函数计算 Funcraft:Funcraft 工具以及 函数计算 SDK ,是一款 VSCode 图形化开发调试函数计算以及操作函数计算资源的工具。 Funcraft:Funcraft 是一个用于支持 Serverless 应用部署的工具,能帮助您便捷地管理函数计算、API 网关、日志服务等资源。它通过一个资源配置文件(template.yml),协助您进行开发、构建、部署操作。Fun 的更多文档参考。

目标

本文打算以一个简单的 Serverless 函数计算项目为例,尝试使用 typescript + nodejs 进行开发,搭建一个简单的工程项目,实现如下小目标:

  1. 使用 typescript 编写业务代码

  2. 可以通过 Serverless VSCode 插件本地调试 typescript 代码

  3. 通过插件将项目代码部署到云端

项目示例图

实践

1. 前期准备 (可选)

前期准备的目的是为了方便开发和调试,目前阿里云 Function Compute 提供了命令行工具 Funcraft 以及图形化 VSCode 插件。安装 Docker 是为了在本地模拟线上环境进行调试,如果想快速浏览下 nodejs + typescript 工程项目的搭建,可以跳过。

2. 环境搭建

{     "compilerOptions": {       "target": "es5",       "module": "commonjs",       "noImplicitAny": true,       "outDir": "./dist/",       "sourceMap": true     },     "include": [       "./src"     ]   }

{     "name": "fc-ts",     "version": "1.0.0",     "description": "Function Compute + Typescript",     "main": "index.js",     "scripts": {       "compile": "tsc -p ./"     }   }

export const handler = (     event: any,     context: any,     callback: (err: any, data: any) => void,   ) => {     console.log(new String(event));     callback(null, 'hello world');   }

至此,我们搭建了一个常规的 typescript 项目,有 tsconfig.json、package.json、src 源码目录、dist 结果目录。其中,src/index.ts 文件中定义了一个 handler 方法,该方法符合函数计算中函数入口方法的定义。

3. 结合函数计算

  1. 在项目根目录新建 index.js 文件,文件内容如下: const { handler } = require('./dist/index');  module.exports.handler = (event, context, callback) => {   handler(event, context, callback); } 这里又定义了一个 handler 方法,该方法中调用了编译后 js 文件中的 handler 方法。

  2. 在项目根目录新建 template.yml 文件,文件内容如下: ROSTemplateFormatVersion: '2015-09-01' Transform: 'Aliyun::Serverless-2018-04-03' Resources:   demo: # service name     Type: 'Aliyun::Serverless::Service'     Properties:       Description: This is FC service     func01: # function name       Type: 'Aliyun::Serverless::Function'       Properties:         Handler: index.handler         Runtime: nodejs8         CodeUri: ./         MemorySize: 1024         Timeout: 15 该文件中对我们的资源(即函数计算中的服务以及函数)进行了定义,具体内容可以参考: Fun 规范文档。 如果安装了 Serverless VSCode 插件,那么可以尝试下插件的智能提示,效果如图:

至此,我们就成功的将 typescript 项目结合到了函数计算中。我们的做法是:将 typescript 源码文件放置在 src 目录,将编译后的 js 文件放置在 dist 目录,最后在项目根目录中编写了 index.js 文件,文件中的 handler 处理函数调用了编译后 index 文件的入口函数。

4. 本地调试与部署

感谢各位的阅读,以上就是“Serverless中怎么使用typescript + nodejs进行开发”的内容了,经过本文的学习后,相信大家对Serverless中怎么使用typescript + nodejs进行开发这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!

推荐阅读:
  1. Serverless Kubernetes入门:对kubernetes做减法
  2. Knative Serverless 之道:如何 0 运维、低成本实现应用托管?

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

serverless typescript nodejs

上一篇:学习Linux需要记住哪些命令

下一篇:postgresql关于权限的知识点有哪些

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》