📜  在 react 中创建 chrome 和 firefox 扩展 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:51:09.588000             🧑  作者: Mango

在 React 中创建 Chrome 和 Firefox 扩展 - Shell-Bash

简介

在本篇文章中,我们将介绍如何使用 React 来创建 Chrome 和 Firefox 的浏览器扩展。我们将使用 Shell-Bash 作为主题,为您提供详细的步骤和示例代码,以帮助您轻松开发自己的扩展程序。

准备工作

在开始编写扩展程序之前,我们需要确保您的开发环境已经具备以下要求:

  • 安装最新版本的 Node.js 和 npm。您可以从官方网站下载和安装它们。
  • 熟悉 React 和 Shell-Bash 的基本概念和开发流程。
  • 在您的项目目录中,通过运行以下命令来创建一个新的 React 应用程序:
npx create-react-app my-extension
cd my-extension
创建扩展程序
  1. src 目录下创建一个新的文件夹,命名为 background。这个文件夹将用于存放与后台脚本相关的代码。

  2. background 文件夹中创建一个名为 background.js 的文件,用于编写后台脚本的逻辑。

// background.js

// 后台脚本的逻辑代码
  1. src 目录下创建一个新的文件夹,命名为 components。在这个文件夹中,我们将编写扩展程序的组件代码。

  2. components 文件夹中创建一个名为 Popup.js 的文件,用于编写扩展程序的弹出窗口(通常是一个浮动窗口)的逻辑。

// Popup.js

import React from 'react';

const Popup = () => {
  // 弹出窗口的逻辑代码
  return (
    <div>
      {/* 弹出窗口的内容 */}
    </div>
  );
};

export default Popup;
  1. src 目录下创建一个名为 manifest.json 的文件,用于描述扩展程序的配置信息。
// manifest.json

{
  "name": "My Extension",
  "version": "1.0",
  "manifest_version": 2,
  "background": {
    "scripts": [
      "background/background.js"
    ],
    "persistent": false
  },
  "browser_action": {
    "default_popup": "index.html"
  },
  "permissions": [
    "activeTab"
  ],
  "content_scripts": [
    {
      "matches": [
        "<all_urls>"
      ],
      "js": [
        "content/content.js"
      ],
      "run_at": "document_end",
      "all_frames": true
    }
  ]
}
  1. 打开 src/index.js 文件,将其内容替换为以下代码,用于加载我们编写的扩展程序组件。
// index.js

import React from 'react';
import ReactDOM from 'react-dom';
import Popup from './components/Popup';

ReactDOM.render(<Popup />, document.getElementById('root'));
  1. public 目录下创建一个名为 index.html 的文件,用于作为一些浏览器扩展所必需的入口文件。
<!-- index.html -->

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>My Extension</title>
</head>
<body>
  <div id="root"></div>
  <script src="index.js"></script>
</body>
</html>
打包和发布

现在,我们已经编写了一个基本的扩展程序,接下来我们将学习如何将其打包并发布到 Chrome 和 Firefox 的扩展商店中。

  1. 打开终端,进入您的项目目录。

  2. 运行以下命令来安装构建工具 web-ext

npm install --global web-ext
  1. 在项目根目录下,创建一个名为 .web-ext-config.js 的文件,用于配置扩展程序的打包和发布信息。
// .web-ext-config.js

module.exports = {
  build: {
    overwriteDest: true,
  },
  run: {
    browserConsole: true,
  },
};
  1. 运行以下命令来打包您的扩展程序:
web-ext build --source-dir=my-extension --artifacts-dir=build
  1. 打开 Chrome 浏览器,输入 chrome://extensions,然后按回车键打开扩展程序管理页面。

  2. 在右上角启用「开发者模式」。

  3. 点击「加载已解压的扩展程序」并选择您刚刚构建的 build 目录。

  4. 您的扩展程序将成功加载到浏览器中。

  5. 如果您想发布您的扩展程序到 Chrome Web Store 或 Firefox Add-ons 商店,请参考官方文档了解详细的步骤和要求。

以上就是使用 React 来创建 Chrome 和 Firefox 扩展的基本步骤和示例代码。希望本文对于开发者能够有所帮助,让您轻松开发强大的浏览器扩展程序!