npm 包 jsii 使用教程

什么是 jsii?

jsii 是一款用于构建多语言 JavaScript 接口的框架。它可以实现在不同编程语言之间,高效地并且透明地集成和交互。因此,jsii 是一个完美的选项,使得我们可以在一个单一的底层库中封装大量的复杂逻辑。

使用 jsii,开发者能够以 TypeScript 编写多语言 JavaScript 接口,然后将其编译为多个目标语言的库,包括但不限于 JavaScript,Java,DotNet,Go 和 Python。

在本文中,我们将介绍如何使用 jsii 创建跨语言的库。

安装 jsii

在开始之前,请先确保您具备以下环境:

  • Node.js(需要版本 12.13 或更高版本)

要安装 jsii,您可以使用 npm 命令进行安装:

--- ------- -- ----

安装完毕后,您可以使用以下命令检查 jsii 版本号:

---- ---------

创建一个新项目

在安装 jsii 后,我们可以使用 jsii 项目生成器创建一个新的默认项目,如下所示:

---------

该命令创建了一个包含生成的文件的文件夹。此文件夹是一个完整的 TypeScript 项目,包括以下部分:

  • package.json:项目描述文件。
  • types/index.d.ts:TypeScript 对于我们新模块的输入/输出类型的定义。
  • lib/index.js:模块的 JavaScript 实现。
  • bin/ts-npm-packaging:一个类型为 ts.NodeCommandLine 命令行工具,用于将项目打包为 npm 包。

创建一个基本的 jsii 类

接下来,我们创建一个能够将两个数字相加的类。我们首先编写 TypeScript 定义文件 src/adder.ts,如下所示:

------ ----- ----- -
  ------ -------- ------- ---- -------- ------ -
    ------ --- - ----
  -
-

然后,我们在 lib 文件夹中创建一个相应的 JavaScript 实现文件,如下所示:

---- --------

-- -- ----- -
------------------------------ ------------- ------- -------
----- ------- ---------- - -----------------------------

-- -- ----- ----
----- ----- ------- --------- -
  -------- ---- -
    ------ -------------- -----
  -
-

------------- - ------

这段代码可以实现一个简单的加法功能。

编译 jsii 模块

完成你的项目后,你就可以编译它了。通过以下命令,您可以构建该项目中的所有包并在本地安装它们:

--- -------
--- --- -----
--- ----

这会在您的本地 npm 系统中安装您的 jsii 包。现在,您可以在其他项目中使用该包了。

发布 jsii 包

如果您有一个 jsii 项目,并且想将其发布到 npm 上,您需要做以下事情:

  • 在您的项目根目录中运行 npm login 命令。
  • 在您的项目根目录中运行 npm publish --access public 即可发布您的 jsii 包。

使用 jsii 包

为了展示如何使用 jsii 包,我们重新创建 jsii 官方文档中的 Python 文件 src/test.py,如下所示:

------ ----
---- ----- ------ -----

-----------------------
----- ------------------
  --- --------- ---- -----
    ------ --- - ---

------------
--- -------
  - - -
  - - --
  -------- - -----------
  ------ - --------------- --
  -------------

-- -------- -- -----------
  --------------

我们首先导入 jsii 和我们的 Adder。

然后,我们定义 AdderImpl 类,它实现了 Adder。我们重写了 AdderImpl 的 add 方法来调用 Python 内置的加法运算符。

最后,我们定义 main 函数,并创建 AdderImpl 实例。我们传递两个数字作为 AdderImpl 的 add 方法的参数,并输出结果。

总结

在本文中,我们学习了如何使用 jsii 构建跨语言的库。我们了解了如何安装和使用 jsii,以及如何创建一个基本的 jsii 类。此外,我们还讨论了如何构建和发布您的 jsii 包,以及如何使用它。jsii 是一个非常有用的库,在不同语言之间的接口集成和交互中具有丰富的应用。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/5f6bec0fa9b7065299ccb904


猜你喜欢

  • npm 包 @jsii/spec 使用教程

    简介 在前端开发中,npm 是最常用的包管理器之一。它为开发者提供了众多的包,可以方便地进行代码复用和项目协作。其中,@jsii/spec 是一个非常有用的 npm 包,它可以帮助开发者在各种编程语言...

    4 年前
  • npm 包 codemaker 使用教程

    简介 codemaker 是一个 npm 包,它可以帮助开发者快速生成 TypeScript、JavaScript 和 Java 等语言的代码。codemaker 利用了 AWS CDK 中大量的 A...

    4 年前
  • npm 包 oo-ascii-tree 使用教程

    在前端的开发项目中,常常需要绘制树形结构的数据集合,而这时候 oo-ascii-tree 这个 npm 包就可以帮助我们在命令行中绘制出清晰的树形结构图。 oo-ascii-tree 是什么? oo-...

    4 年前
  • npm 包 jsii-reflect 使用教程

    当你需要针对已有的 JavaScript 库编写 TypeScript 绑定时,性价比最高的方法是使用 jsii-reflect npm 包。本文将详细讲解如何使用该 npm 包,并提供示例代码。

    4 年前
  • npm 包 jsii-rosetta 使用教程

    前言 在前端开发中,我们经常需要使用各种 npm 包来帮助我们完成任务。其中,jsii-rosetta 是一个非常有用的 npm 包,它可以将 TypeScript 类型定义转换为其他语言的类型定义。

    4 年前
  • npm 包 jsii-pacmak 使用教程

    在前端开发中,我们经常会用到一些类似组件、模块等的功能,而这些功能往往需要借助第三方库来实现,而 npm(Node.js 的包管理工具)就是一个非常方便的地方,我们可以很方便地查找并安装我们需要的包。

    4 年前
  • npm 包 cdk-build-tools 使用教程

    CDK Build Tools 是一个用于构建 AWS CDK (Cloud Development Kit) 应用程序的 Node.js 工具集。它由 AWS 官方提供,可以让开发者更方便地构建 C...

    4 年前
  • npm 包 @aws-cdk/cx-api 使用教程

    简介 @aws-cdk/cx-api 是 AWS CDK 的核心 API,它提供了一些方法和工具,方便开发者在 AWS 环境中进行基础架构的开发与管理。本文将详细介绍如何使用 npm 包 @aws-c...

    4 年前
  • npm 包 @aws-cdk/aws-ec2 使用教程

    在现代前端开发中,很多应用都需要与云服务进行交互。Amazon Web Services (AWS) 是一家领先的云服务提供商,为了方便前端开发人员与 AWS 服务进行集成,AWS 提供了 AWS C...

    4 年前
  • npm 包 @aws-cdk/cdk-assets-schema 使用教程

    背景 @aws-cdk/cdk-assets-schema 是 AWS CDK 用于描述资源模板的 npm 包。它的存在是为了在资源部署流程中,将静态资源的描述与代码分离开来,为开发者提供更加灵活和易...

    4 年前
  • npm 包 @aws-cdk/aws-logs 使用教程

    什么是 @aws-cdk/aws-logs? @aws-cdk/aws-logs 是在前端开发过程中可以使用的一个重要的 npm 包。它可以帮助我们在 AWS 云平台上创建和管理日志组、日志流,并提供...

    4 年前
  • npm包 @aws-cdk/aws-elasticloadbalancing使用教程

    前言 AWS CDK(Cloud Development Kit)是AWS官方提供的一种基础设施即代码的工具,它允许开发者使用编程语言(目前支持 TypeScript、JavaScript、Pytho...

    4 年前
  • npm 包 @aws-cdk/cloud-assembly-schema 使用教程

    在前端开发中,我们经常使用第三方包来加速开发的进程。AWS Cloud Development Kit(CDK)是一个强大的开发工具,用于使用JavaScript、TypeScript或Python高...

    4 年前
  • npm 包 @aws-cdk/aws-elasticloadbalancingv2 使用教程

    AWS Elastic Load Balancing (ELB) 可以帮助我们将流量均衡地分发到多个 Amazon EC2 实例上,并提高应用程序的可伸缩性、性能和可用性。

    4 年前
  • 使用 ts-mock-imports 进行前端单元测试

    在前端开发中,单元测试是确保代码质量和稳定性的必要手段之一。在进行单元测试时,通常需要对代码中的依赖进行模拟。ts-mock-imports 就是一款可以方便地进行依赖模拟的 npm 包。

    4 年前
  • npm 包 @aws-cdk/region-info 使用教程

    前言 AWS CDK 为开发人员提供了一种简便的方式来定义基础设施即代码,简化了云端架构的复杂度。作为 AWS CDK 的一部分,@aws-cdk/region-info 可以帮助开发人员更方便地获取...

    4 年前
  • npm包@aws-cdk/aws-autoscaling-hooktargets使用教程

    前言 在云计算时代,自动化已成为不可或缺的一部分。Auto Scaling是AWS的一项功能,可以帮助我们根据需求自动横向扩展或收缩应用程序,以确保应用程序高可用性和可靠性。

    4 年前
  • npm 包 @aws-cdk/aws-servicediscovery 使用教程

    背景 随着云计算的兴起,越来越多的 web 应用被部署到云端,并拥有多个微服务,它们需要相互通信才能完成业务逻辑。AWS 服务发现是一种全托管的服务,用于帮助用户轻松地部署、管理和发现业务中的各个组件...

    4 年前
  • npm 包 @aws-cdk/aws-ecs 的使用教程

    前言 随着云计算的发展,容器技术也越来越成熟。AWS ECS(Elastic Container Service)是 AWS 推出的一款容器服务,它可以帮助用户快速部署和管理容器。

    4 年前
  • npm 包 @aws-cdk/aws-applicationautoscaling 使用教程

    前言 AWS 的自动扩展服务是 Amazon EC2 Auto Scaling,用于管理 Amazon EC2 实例的自动比例调整。与此同时,AWS 还提供了应用程序自动扩展服务 - Applicat...

    4 年前

相关推荐

    暂无文章