Skip to content

zkp442910864/google-plugin-cli

Repository files navigation

Vue 3 + Typescript + Vite

命令

    # 调试 chrome
    npm run dev:chrome

    # 调试 firefox
    npm run dev:firefox

    # 打包所有(不包含火狐签名版本
    npm run build

    # 打包火狐(签名版本
    npm run sign:ff

    # 输出web文件
    npm run build:web

    # 使用crx 和crx3 进行打包,不明白有啥区别
    npm run build:crx3
    npm run build:crx2
    npm run build:zip2

    # 打包火狐(未签名版本
    npm run build:ff

注意点

vite.config.ts 页面,js都在这里面进行配置

  • 添加文件 build.rollupOptions.input
    • html: {tagView: getFullUrl('tagView.html')}
      • 需要创建对应的文件 src/tagView/main.ts
    • js: {serviceWoker: getFullUrl('src/serviceWoker/index.ts?merge')}
      • 带 ?merge 会把js生成为一个文件,比较耗时
  • vite.config.ts 切换 manifest 文件

修改后的脚手架,用来开发谷歌插件

脚手架搭建参考 https://github.com/geeeger-pkgs/vite-multi-page-template

入门 https://developer.chrome.com/docs/extensions/mv3/getstarted/ 扩展开发概述 https://developer.chrome.com/docs/extensions/mv3/devguide/ 架构概览 https://developer.chrome.com/docs/extensions/mv3/architecture-overview/ 声明权限 https://developer.chrome.com/docs/extensions/mv3/declare_permissions/

获取配置清单 chrome.runtime.getManifest()

功能权限

后台脚本

  • chrome.runtime.onInstalled 初始化事件

    在首次安装扩展程序、将扩展程序更新到新版本以及 Chrome 更新到新版本时触发。
    https://developer.chrome.com/docs/extensions/reference/runtime/#event-onInstalled

    // 应该是做一些初始化操作的
    chrome.runtime.onInstalled.addListener(() => {
        chrome.storage.sync.set({ color });
        console.log('Default background color set to %cgreen', `color: ${color}`);
    });

用户操作界面

国际化

多功能框

上下文菜单(右键菜单)

  • 菜单内容创建

    api

    chrome.contextMenus.create({
        id: key,
        title: kLocales[key],
        type: 'normal',
        // 触发机制包括
        contexts: ['selection'],
    });

代码注入/执行 (操作当前激活的tab页面)

About

基于vite 修改的chrome插件脚手架

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published