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

项目结构

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

主要的文件

manifest.json

bash 复制代码
{
  "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

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"
  }
}

完整项目结构

bash 复制代码
$ 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/

相关推荐
菥菥爱嘻嘻28 分钟前
输出---修改ant样式
前端·react.js·anti-design-vue
灰太狼大王灬3 小时前
Chrome 浏览器扩展图片 提取大师
前端·chrome
天蓝色的鱼鱼3 小时前
Next.js的水合:静默的页面“唤醒”术
前端·react.js·next.js
_志哥_4 小时前
解除有些网站不能复制的终极办法
前端·chrome
愚昧之山绝望之谷开悟之坡4 小时前
什么是uv和传统的区别
前端·chrome·uv
lapiii3586 小时前
快速学完React计划(第一天)
前端·react.js·前端框架
liangshanbo12156 小时前
React + TypeScript 企业级编码规范指南
ubuntu·react.js·typescript
LRH8 小时前
时间切片 + 双工作循环 + 优先级模型:React 的并发任务管理策略
前端·react.js
歪歪1008 小时前
React Native开发有哪些优势和劣势?
服务器·前端·javascript·react native·react.js·前端框架
XiaoSong8 小时前
React Native 主题配置终极指南,一篇文章说透
前端·react native·react.js