npm 包 generator-teams-compose-extension 使用教程

最近,微软发布了一款名为 Teams Compose Extension 的工具包,用于快速构建 Microsoft Teams 应用程序,使得开发者们可以更方便快捷地定制并扩展 Teams 的消息撰写体验以及用户界面。而 generator-teams-compose-extension,则是一个 Yeoman 生成器,简化了项目配置和部署的过程,让我们更加专注于业务代码的实现。

本文将介绍如何使用该 npm 包,让开发者们更加轻松快捷地搭建和开发 Teams Compose Extension。

安装和使用

首先,确保你已经安装了最新版的 Node.js 和 Yeoman,在此基础上,在终端中输入以下命令,全局安装 generator-teams-compose-extension:

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

生成器安装完成后,我们可以在任意目录下创建一个空的文件夹,用于存放项目的代码:

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

在该文件夹下,执行以下命令:

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

随后,会要求开发者们配置以下信息:

  • Microsoft App Id: 应填写通过 Microsoft 应用中心创建的应用 ID;
  • Microsoft App Password: 应填写通过 Microsoft 应用中心创建的应用秘钥;
  • Compose extension name: 应填写项目的名称,建议使用英文命名规则;
  • Compose extension description: 应填写项目的描述信息;
  • Compose extension command id: 应填写项目的命令 ID,标识了在 Teams 中的唯一身份。

配置完成后,会生成以下目录结构:

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

需要注意的一点是,生成器中默认使用了 React 进行开发,若想使用其他的框架,需要手动修改 webpack.config.js 等相关配置文件。

接下来,我们来逐一讲解这些目录和文件的作用:

api

该目录下存放了一个 config.js 文件,用于存放访问 Teams API 的相关配置信息。

public

该目录下可存放项目所需的资源文件,如图片文件、样式文件等。

src

该目录下是项目的主要代码,分为以下三个文件或目录:

html

该目录用于存放项目的 HTML 模板文件,可自行编写和修改。

index.js

该文件是项目代码的入口文件,我们需要在其中编写项目的主要业务代码,调用 Teams API,并进行渲染等操作。

manifest.json

该文件用于存放 Teams Compose Extension 应用的配置信息,如按钮名称、图标等。

test

该目录用于存放项目的测试文件,类似于单元测试等。

最后,我们可以通过运行以下命令,启动项目的本地服务器:

--- -----

至此,我们成功地创建了一个 Teams Compose Extension 项目,并可通过项目的代码进行开发实现。

示例代码

下面是一个简单的示例代码,通过调用 Teams API,实现在聊天页面中添加一个按钮:

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

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

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

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

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

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

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

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

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

通过该示例代码,我们可了解到如何调用 Teams API,并在页面中添加一个按钮,从而实现定制和扩展 Teams Compose Extension 应用程序。

总结

本文详细介绍了 npm 包 generator-teams-compose-extension 的安装和使用,并使用示例代码演示了如何在 Teams Compose Extension 应用程序中调用 Teams API,实现添加按钮的操作。通过学习本文,相信开发者们已经掌握了开发 Teams 应用程序和使用 generator-teams-compose-extension 工具的基本知识和技能。希望能对大家在实际开发中有所帮助。

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


猜你喜欢

  • npm 包 csv-js 使用教程

    CSV 是一种常见的数据格式,在前端开发中也经常需要对 CSV 文件进行读写和处理。npm 包 csv-js 是一个方便的工具,可以帮助开发者轻松处理 CSV 文件。

    2 年前
  • node-unique-id: 一个生成唯一 ID 的 npm 包使用教程

    简介 在前端开发中,常常需要生成唯一的 ID 来标记某个元素或数据,便于区分和操作。node-unique-id 是一个 npm 包,可以很方便地生成一个简短的、唯一的、随机的字符串 ID。

    2 年前
  • 前端必备神器——npm 包 jarvis_editor 的使用教程

    简介 在前端开发中,我们常常需要编写 HTML、CSS、JavaScript 代码,然而在原生编辑器中,代码高亮、自动补全等功能并不齐全,于是诸多第三方编辑器应运而生,如 Visual Studio ...

    2 年前
  • npm 包 troublete-elements-overlay 使用教程

    介绍 troublete-elements-overlay 是一个基于 Web Components 技术的 npm 包,可以方便快捷地实现弹出层覆盖效果,支持自定义样式和内容。

    2 年前
  • npm 包 mypackage20170516 使用教程

    npm 是 Node.js 包管理工具,我们可以通过 npm 获取到各种 Node.js 的模块和库。而 mypackage20170516 就是一个非常实用的 npm 包,它可以帮助前端开发人员更加...

    2 年前
  • npm包rutas-library-web使用教程

    引言 随着Web前端技术的发展,有越来越多的高质量的npm包被开发出来,这些npm包不仅可以提升前端开发的效率,还能提供更好的用户体验和交互效果。本篇文章将介绍一个强大的npm包——rutas-lib...

    2 年前
  • npm 包 dom-offset 使用教程

    您是否需要获取 DOM 元素在页面上的位置或大小?或者需要计算元素相对于其父元素的位置?如果是这样,那么你可能需要 npm 包 dom-offset。 dom-offset 提供了一个简单的 API,...

    2 年前
  • npm 包 reef-controller 使用教程

    什么是 reef-controller? reef-controller 是一个针对前端开发的 npm 包,用于实现多页 web 应用程序的路由控制和状态维护。它借鉴了 React 的思想,但又不依赖...

    2 年前
  • npm 包 sentry-cli 使用教程

    什么是 sentry-cli? sentry-cli 是 Sentry 的命令行工具,它提供了一种简单的方式来与 Sentry 进行交互。因此你可以在你的 CI/CD 或者本地构建过程中使用它来上传你...

    2 年前
  • npm 包 existanze-localized 使用教程

    在前端开发中,国际化是一个不可忽视的方面。然而,为不同的语言提供适当的本地化支持并不是易事。这时, existanze-localized 这个 npm 包就成为了一个很好的选择。

    2 年前
  • npm 包 file-read 使用教程

    在前端开发中,我们常常需要读取本地文件,以便进行相关的操作。而 npm 包 file-read 就是一个非常实用的工具,可以快速便捷地在前端中实现文件读取功能。本文将详细介绍 npm 包 file-r...

    2 年前
  • npm 包 bloggify.js 使用教程

    介绍 Bloggify.js 是一个为 Node.js 和浏览器创建网络应用程序而设计的 MVC 框架。使用 Bloggify.js,您可以更快、更有效地构建具有可扩展性的应用程序。

    2 年前
  • npm 包 kempo-radio 使用教程

    介绍 在前端开发中,我们经常会用到一些表单控件,如单选框。但是原生的单选框样式固定不变,难以满足我们的开发需求。这时候,kempo-radio 就可以派上用场了。 kempo-radio 是一个基于 ...

    2 年前
  • npm 包 kempo-rss 使用教程

    kempo-rss 是一个基于 Node.js 的 npm 包,它可以帮助我们创建 RSS (简易信息聚合)源。在项目中,我们可以利用它来获取并处理 RSS 格式的数据,方便地实现信息展示和推荐功能。

    2 年前
  • npm 包 material-ui-expandable-text-field 使用教程

    在前端开发中,我们通常需要使用表单功能。表单中的一个常见控件就是文本框。而一个更为高端的文本框,应该是支持自动伸缩的输入框——用户可以在其中输入任意长度的文本,而输入框会随着文本内容变化而自动伸缩,以...

    2 年前
  • npm 包 npm-demo-lala_2017 使用教程

    npm 是 Node.js 的包管理器,可用于管理和安装公共的 JavaScript 模块包,也可用于管理和发布个人的模块包。本文将向大家介绍一个名为 npm-demo-lala_2017 的 npm...

    2 年前
  • npm 包 react-resize-component 使用教程

    在前端开发中,我们常常需要设计可拖拽、可调整大小的组件,以满足页面的布局和交互需求。而在 React 中,借助 react-resize-component 这个强大的 npm 包,我们可以很方便地实...

    2 年前
  • npm 包 bezier.js 使用教程

    简介 bezier.js 是一款轻量级的 JavaScript 库,用于计算和渲染贝塞尔曲线。它是一个非常有用的项目,尤其在前端开发中。在本文中,我们将从如何安装 bezier.js 开始,然后学习如...

    2 年前
  • npm 包 dusty-testing 使用教程

    1. 简介 dusty-testing 是一个用于前端自动化测试的 npm 包,它使用了 Jest 和 Puppeteer 等技术来实现自动化测试的过程。dusty-testing 提供了一种简单易用...

    2 年前
  • npm 包 yc-progress 使用教程

    简介 npm 是世界上最大的软件库之一,它允许用户在他们的项目中使用已经编好的 JavaScript 包,使得开发更加高效。其中一个非常有用的包是 yc-progress,这个包可以让你轻松地在你的前...

    2 年前

相关推荐

    暂无文章