首页 > 其他分享 >chrome插件:一个基于webpack + react的chrome 插件项目模板

chrome插件:一个基于webpack + react的chrome 插件项目模板

时间:2023-09-10 11:03:05浏览次数:42  
标签:插件 popup min chrome js react webpack options


chrome插件:一个基于webpack + react的chrome 插件项目模板_react.js

项目结构

$ tree -L 1
.
├── README.md
├── node_modules             # npm依赖
├── package.json             # 详细依赖
├── pnpm-lock.yaml 
├── public                   # 里边包含dist,安装的时候安装这个目录即可
├── src                      # 源码文件
└── webpack.config.js        # webpack打包配置

主要的文件

manifest.json

{
  "name": "GoodDev",
  "manifest_version": 2,
  "version": "0.0.1",
  "description": "前端开发元素快速定位的chrome插件",

  "browser_action": {
    "default_icon": "icon.png",
    "default_title": "GoodDev",
    "default_popup": "dist/popup/popup.html"
  },

  "options_page": "dist/options/options.html",

  "permissions": ["tabs", "activeTab", "storage"],

  "background": {
    "scripts": [
	    "libs/webextension-polyfill.min.js", 
	    "dist/background/background.js"
    ]
  },

  "content_scripts": [
    {
      "matches": ["http://*/*", "https://*/*"],
      "run_at": "document_idle",
      "js": [
        "libs/jquery/jquery.min.js",
        "libs/webextension-polyfill.min.js",
        "dist/content/content.js"
      ]
    }
  ],
  "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
}

package.json

{
  "name": "good-dev",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "dev": "webpack watch --mode production",
    "build": "webpack --mode production"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "antd": "^5.8.6",
    "react": "^18.2.0",
    "react-dom": "^18.2.0"
  },
  "devDependencies": {
    "@babel/core": "^7.22.15",
    "@babel/preset-react": "^7.22.15",
    "babel-loader": "^9.1.3",
    "copy-webpack-plugin": "^11.0.0",
    "css-loader": "^6.8.1",
    "style-loader": "^3.3.3",
    "webextension-polyfill": "^0.10.0",
    "webpack": "^5.88.2",
    "webpack-cli": "^5.1.4",
    "webpack-dev-server": "^4.15.1"
  }
}

完整项目结构

$ tree -I node_modules/
.
├── README.md
├── package.json
├── pnpm-lock.yaml
├── public
│   ├── icon.png
│   ├── index.html
│   ├── libs
│   │   ├── antd
│   │   │   ├── antd.min.js
│   │   │   └── reset.min.css
│   │   ├── dayjs
│   │   │   └── dayjs.min.js
│   │   ├── jquery
│   │   │   └── jquery.min.js
│   │   ├── react
│   │   │   ├── react-dom.production.min.js
│   │   │   └── react.production.min.js
│   │   └── webextension-polyfill.min.js
│   └── manifest.json
├── src
│   ├── background
│   │   └── background.js
│   ├── consts.js
│   ├── content
│   │   └── content.js
│   ├── options
│   │   ├── options.css
│   │   ├── options.html
│   │   └── options.js
│   ├── popup
│   │   ├── popup.css
│   │   ├── popup.html
│   │   └── popup.js
│   └── utils
│       ├── chrome-util.js
│       ├── copy-util.js
│       ├── dom-util.js
│       └── uuid-util.js
└── webpack.config.js

完整代码:https://github.com/mouday/good-dev/


标签:插件,popup,min,chrome,js,react,webpack,options
From: https://blog.51cto.com/mouday/7423871

相关文章

  • SonarQube教程:idea配置及使用sonarlint插件扫描项目
    下载插件settings--plugins--marketplace中搜索sonarlint,安装后重启idea配置插件settings中搜索sonarlint配置远程sonarqube服务器地址,及相关鉴权信息使用插件在项目名称上或某个java文件中右击,选择AnalyzewithSonarlint或者在idea底部找到sonarlint,点击绿色开始按钮,即可开......
  • SonarQube教程:使用maven插件的方式扫描项目代码
    sonar扫描代码的三种途径配置Mavensettings.xml增加如下内容,注意pluginGroups和profiles都是settings下面的一级标签<pluginGroups><pluginGroup>org.sonarsource.scanner.maven</pluginGroup></pluginGroups><profiles><profile><id>so......
  • Jenkins 插件
    第三方服务集成Jenkins插件https://help.gitee.com/devops/connect/Jenkins-Plugin目录目录简介目前支持特性计划中特性插件安装插件配置添加Gitee链接配置新建构建任务任务全局配置源码管理配置触发器配置构建后步骤配置构建结果回评至Gitee构......
  • IDEA 高效插件推荐(提升工作效率)
    官网:https://plugins.jetbrains.com/Codota-代码智能提示直接在IntelliJ、AndroidStudio或Eclipse中使用从数百万个程序中学习的代码完成,更快、更智能地编写代码。Lombok简化臃肿代码插件编程中,往往需要在实体类定义各种字段,那么就需要写get/set/构造/toString/......
  • 2023-09-09 微信小程序之引入uni_modules过多插件导致主包体积过大如何解决 ==》hbuil
    前言:uni_modules里面的插件会全部打包在主包里,分包如果都是引用了uni_modules的插件,那么会导致包体积越来越大。我的项目主要用到一些组件库,如uview,对这个库的依赖太严重了,加上是把2个小程序融合到一起,所以对这个库的依赖就会变得更多。解决方案:你的小程序是用uniapp开发,才能使......
  • 插件:不坑盒子 For Office/WPS
    概述B站UP主@不坑老师制作的word效率插件,专为解决日常办公中的一些低效率的痛点。支持版本:windows操作系统下的Office2010以上、WPS软件特点文章排版:可以根据编号来调正文章的样式,配合手动排版一起使用,效果更佳。奇偶页码:双面打印通常在左侧装订,那么页码就应该在外侧,这......
  • IDEA 准点下班必备插件推荐!
    InteIIiJIDEA2023.2版本发布了,在2023.2中,官方根据用户的宝贵反馈对新UI做出了大量改进,新UI界面大大减少了干扰,可以让用户更好地专注于代码。但官方激活码的校验规则进行了更新,之前已经成功激活的Idea可能突然无法使用了,给大家准备了激活码:IDEA激活 https://www.kdocs.cn/l/c......
  • IntelliJ IDEA 必备插件!让的你生产力提升十倍!
    InteIIiJIDEA2023.2版本发布了,在2023.2中,官方根据用户的宝贵反馈对新UI做出了大量改进,新UI界面大大减少了干扰,可以让用户更好地专注于代码。但官方激活码的校验规则进行了更新,之前已经成功激活的Idea可能突然无法使用了,给大家准备了激活码:IDEA激活 https://www.kdocs.cn/l/c......
  • jenkins 插件更新页面报错
    jenkins插件更新页面报错:Jenkins安装插件出现Signatureverificationfailedinupdatesite'default'(showdetails)在docker-compose.yml启动文件加上hudson.model.DownloadService.noSignatureCheck=true环境变量version:"3.6"services:competent_goodall:......
  • Confluence的Excel插件Elements Spreadsheet安装
    背景Confluence是现在广泛使用的团队协作文档系统。虽然自身带了一些表格编辑功能,但表格的整体功能较弱,比如不能通过Excel文件进行导入导出,表格在复制到Excel时格式会比较奇怪等等。对于未完全整合流程到Confluence上的团队,信息从Excel到在线文档系统的流转是个巨大的工作量。介......