首页 > 其他分享 >工程化开发谷歌插件到底有爽

工程化开发谷歌插件到底有爽

时间:2024-11-25 18:31:23浏览次数:7  
标签:npm 插件 有爽 -- js youku build 工程化 const

工程化开发谷歌插件到底有爽

谷歌插件开发本质上就是写一些 html + js + css

img

谷歌开发心得吧

manifest.json 文件

 {
    "manifest_version": 3,
    "name": "发布助手",
    "version": "3.0",
    "description": "前端资源监测",
    "permissions": [
        "notifications",
        "activeTab",
        "storage"
    ],
    "content_scripts": [
        {
            "matches": [
                "https://*/*",
                "http://localhost:8080/"
            ],
            "js": [
                "services/index.js"
            ]
        }
    ],
    "background": {
        "service_worker": "services/background.js",
        "persistent": true
    },
    "action": {
        "default_popup": "html/index.html",
        "default_icon": {
            "16": "images/youku.png",
            "48": "images/youku.png",
            "128": "images/youku.png"
        }
    },
    "icons": {
        "16": "images/youku.png",
        "48": "images/youku.png",
        "128": "images/youku.png"
    }
}

剩下核心文件就是一个html 和一个services

html 文件就是你点击插件所弹出来的前端页面
services 文件相当于一个后端处理数据的地方

前端开发

前端模块化开发,项目创建
初始化一个 React 项目使用 Vite Less TypeScript ESLint Prettier Ant Design Lodash

# 在终端中执行以下命令来创建一个新的 Vite 项目:
npm create vite@latest my-project -- --template react-ts

# 进入项目目录:
cd my-project

# 在终端中运行以下命令来安装 LESS:
npm install less less-loader --save-dev

# 安装 Ant Design 和 Lodash:
npm install antd lodash

# 安装 ESLint、Prettier 和相关插件:【暂时忽略这些】
npm install --save-dev eslint prettier eslint-plugin-react eslint-plugin-react-hooks eslint-config-prettier eslint-plugin-prettier

# 初始化 ESLint 和 Prettier
# 暂时忽略这些
后端开发

后端逻辑主要是根据前端操作进行一些数据的获取或者一些谷歌api的调用,所以核心就是想
写一些js,但是如果在一个文件中写js,写的太多根本不好维护,所以想通过模块化的方式来
分模块写js,各个模块可以直接使用import``export的方式进行导出和引用

 # webpack 安装
 npm install --save-dev webpack webpack-cli babel-loader @babel/core @babel/preset-env

webpack.config.js文件配置

 const path = require('path');
module.exports = {
    mode: 'development',
    entry: {
        index: './services/index.js',  // 第一个入口
        background: './services/background.js',  // 第二个入口
    },
    output: {
        filename: '[name].js', // 使用 entry 对象的键作为输出文件名
        path: path.resolve(__dirname, 'youku404/services'),
        clean: true,  // 每次构建前清理/dist文件夹
    },
    devtool: 'source-map', // 使用 'source-map' 而不是 'eval'
    module: {
        rules: [
            {
                test: /\.js$/,
                exclude: /node_modules/,
                use: {
                    loader: 'babel-loader', // 你可以根据需要添加 Babel 支持
                }
            }
        ]
    },
    resolve: {
        extensions: ['.js']
    }
};

.babelrc文件配置

 {
    "presets": ["@babel/preset-env"]
}

package.json文件新加命令 build:service

    {
    "dev": "npm run dev --prefix youku-plugin",
    "build": "npm run build:dev  && npm run build:service && npm run commit",
    "build:dev": "npm run build --prefix youku-plugin",
    "build:service": "webpack",
    "commit": "git pull && git add . && git commit -m '版本更新' && git push",
    "i": "npm install --prefix youku-plugin"
  }
解决资源的打包问题

❓:我要修改 打包之后的文件路径 怎么办

// 

标签:npm,插件,有爽,--,js,youku,build,工程化,const
From: https://blog.csdn.net/qq_41798568/article/details/144034647

相关文章

  • 功能齐全的jquery图片查看器插件
    lightgallery.js是一款功能齐全的jquery图片查看器插件。该jquery图片查看器插件采用响应式设计,提供图片查看,图片轮播,图片放大等功能。它的特点还有: 演示  下载 以模态窗口的形式全屏展示图片。显示图片的标题。可以实现图片的懒加载。可以自动播放图片,并提供进度......
  • Driver.js:轻量级用户引导插件,小而美的界面,让用户体验飞起来!
    大家好,欢迎来到程序视点!我是小二哥!每当我们的新产品上线或大版本迭代后,产品使用步骤或功能介绍是必不可少的。今天就给大家介绍一款可以快速实现新手引导和交互效果的工具库:Driver.js    关于Driver.jsDriver.js是一个可以轻松......
  • 公司代码被泄露了,别再乱用 AI 代码插件了!!
    据统计,截止2024年底,全球已有62%的开发者在开发工作中使用AI工具,并且该比例以约每年14%速度飞速增长。使用AI提升研发效率已成为软件行业的必选项。然而,随之而来的风险也愈发显著。以下几点值得特别关注:1、调查显示,有3.1%的员工会直接将公司内部数据输入ChatGPT进行分析,而这些数据......
  • 支持无限加载的js图片画廊插件
    在线演示  下载  natural-gallery-js是一款支持无限加载的js图片画廊插件。该js图片画廊支持图片的懒加载,可以对图片进行搜索,分类,还可以以轮播图的方式来展示和切换图片。  使用方法在页面中引入下面的CSS和js文件。<linkrel="stylesheet"href="../dist/t......
  • 带排序功能的js masonry瀑布流插件
    在线预览  下载 sortableJs是一款带排序功能的jsmasonry瀑布流插件。sortableJs能够使元素以卡片形式显示,并以masonry瀑布流方式进行布局,通过点击分类按钮,可以将卡片按指定的方式动态排序。  使用方法在页面中引入sortable.min.css和sortable.min.js文件。<link......
  • C# 在人工智能项目中的工程化实践与挑战
    随着人工智能(AI)技术的快速发展,越来越多的企业和开发者开始将AI应用融入到自己的软件产品中。而在AI项目的工程化过程中,如何利用合适的编程语言、框架和工具来实现高效、可维护、可扩展的AI系统,成为了一个值得深思的问题。作为一种强大的编程语言,C#不仅适用于桌面和Web......
  • bootstrap4和jQuery消息通知插件
    在线预览  下载 这是一款基于bootstrap4的jQuery消息通知插件。该消息通知插件使用简单,可生成多种主题的toast消息通知,可设置为自动消失或固定时间消失等,非常实用。  使用方法在页面中引入jquery和bootstrap4相关文件,以及notifyMessage相关文件。<linkhref=......
  • js弹出层Lightbox图片画廊插件spotlight.js
    在线预览 下载spotlight.js是一款js弹出层Lightbox图片画廊插件。该插件在点击图片的缩略图时,以lightbox的方式弹出图片画廊,支持对图片进行放大、缩小、全屏、前后切换等操作。 使用方法在页面中引入下面的文件。<scripttype="text/javascript"src="spotlight.bu......
  • Bootstrap4动态模态窗口jquery插件
    在线预览 下载 这是一款Bootstrap4动态模态窗口jquery插件。通过该jquery插件,可以动态生成bootstrap4的模态窗口,可以实现简单的弹出框,对话框,以及复杂结构的模态窗口。 使用方法在页面中引入jquery.min.js、bootstrap-show-modal.js文件,以及bootstrap4相关文件。......
  • mybatis-plus插件的使用
    大家在整合myatis-plus和spring-boot后可能会使用mybatis-plus的代码自动生成器,一般有自己加依赖,然后创建一个代码生成器的类,但这样比较繁琐。这里推荐我自己使用的插件1、首先是这个插件:安装重启后在工具栏里面使用:点击后可能不会直接弹窗可能在另外页面,我的没有直接可以......