npm 包 generator-webext-typescript 使用教程

阅读时长 5 分钟读完

介绍

generator-webext-typescript 是一个基于 Yeoman 的生成器,用于在 Typescript 中创建 WebExtension 项目。WebExtension 是一种浏览器扩展开发模式,它可以在主流的浏览器中运行,包括 Chrome、Firefox、Safari、Edge 等。

在过去,Chrome 和 Firefox 的扩展开发都有各自的不同的 API,因此需要编写两个不同版本的代码。而 WebExtension 则可以跨浏览器平台使用,使得扩展开发更加方便。

使用 generator-webext-typescript 可以方便地创建一个 WebExtension 项目,并且自动集成了 Typescript 开发环境和基础 WebExtension API,大大提高了开发效率。

安装

需要先安装 Yeoman 这个生成器工具,可以使用 npm 安装:

接着安装 generator-webext-typescript:

创建项目

在命令行中输入以下命令创建项目:

创建项目的过程中会提示一些选项,如项目名称、作者、扩展 ID 等,可以根据自己的需要进行选择配置。

开发扩展

创建好项目后,进入项目目录,安装依赖:

接着就可以开始进行扩展开发了。在 src 目录中,有一个 index.ts 文件,该文件是扩展的入口文件,在这里可以添加扩展的各种功能。

例如,在扩展中添加一个右键菜单:

在 package.json 文件中也可以进行配置,比如可以配置文件打包工具、内容脚本、背景脚本等:

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

打包发布

使用 npm run build 命令可以将代码打包为一个 zip 文件,以便上传到 chrome 或 firefox 扩展商店进行发布。可以在 package.json 文件中配置打包命令:

打包后可以在项目根目录下的 web-ext-artifacts 目录中找到生成的 zip 文件。

总结

generator-webext-typescript 可以大大提高 WebExtension 项目的创建、开发、打包、发布效率,是一个非常好用的工具。上述的示例代码只是一个简单的展示,实际上 WebExtension 的功能还有很多,开发者可以根据自己的需要进行扩展。

参考文献

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/60055eae81e8991b448dc2df

纠错
反馈