大家好,感谢邀请,今天来为大家分享一下自动化Chrome插件打包与加载的Webpack插件详解的问题,以及和的一些困惑,大家要是还不太明白的话,也没有关系,因为接下来将为大家分享,希望可以帮助到大家,解决大家的问题,下面就开始吧!
npm i auto-load-chrome-ext-webpack-plugin
二、解决的痛点
前段时间在研究chrome插件开发时,因为项目中使用了react进行页面开发,所以使用了webpack来打包项目。包装好后,每次都得手动打开。浏览器,然后手动选择打包好的chrome插件进行加载。这个过程有点繁琐,所以我们开发了这个webpack插件来实现自动加载。我们只需要执行npm run build,打包的操作就可以交给插件了。自动完成了,然后我们就可以愉快地直接在浏览器上调试插件项目了。如果你想了解更多关于chrome插件开发的知识,可以阅读我的另一篇文章《基于manifest v3+react开发的Chrome插件demo》。
三、该插件的实现原理
该插件使用selenium-webdriver 自动化测试工具和自动化脚本autoClickSelect.exe 文件。首先插件监听webpack的done钩子函数,在webpack打包完成并生成build文件夹后执行。 selenium-webdriver会打开chrome的扩展管理页面,然后自动点击右上角的开发者模式切换按钮打开开发者模式,然后自动点击按钮加载扩展,会出现一个选择文件夹的窗口弹出窗口。由于这个窗口属于操作系统而不是浏览器,因此无法使用selenium-webdriver自动化测试工具进行操作。您必须使用autoClickSelect.exe 程序帮助我们完成后续操作。首先执行webpack插件中的autoClickSelect.exe程序。 autoClickSelect.exe程序会等待一分钟,然后执行webpack插件中的autoClickSelect.exe程序,打开文件夹选择窗口。监控完成后,进行后续操作。它首先将输入焦点定位在输入文本框中,然后自动输入要选择的chrome插件所在文件夹的绝对路径,最后自动点击确定按钮,整个过程就完成了。
四、使用方法及注意事项
插件中使用了selenium-webdriver自动化测试工具。您必须先下载chrome浏览器版本对应的chromedriver.exe文件(点此下载)。对于64位Windows系统,还选择chromedriver_win32.zip进行下载。下载并解压该文件后,该文件放置在chrome浏览器的安装位置,例如C:/Program Files/Google/Chrome/application文件夹中。如果后续chrome版本升级,请务必将chromedriver.exe文件替换为对应版本。
该webpack 插件中使用了autoClickSelect.exe 文件。你可以从我的github下载,https://github.com/hepengwei/chrome-extension-react-demo。 autoClickSelect.exe文件位于项目根目录的config文件夹中。该插件的使用方法也可以参考我的demo项目。该插件需要传递三个参数。示例如下:
const AutoLoadChromeExtPlugin=require("auto-load-chrome-ext-webpack-plugin");
插件: [
isEnvProduction 新AutoLoadChromeExtPlugin({
targetDir: "C:\Users\XXX\AppData\Local\Google\Chrome\User Data\Default\Extensions\myChromeExtension",
自动单击选择位置:
"D:\myProject\chrome-extension-react-demo\config\autoClickSelect.exe",
chromedriverLocation: "C:\Program Files\Google\Chrome\Application\chromedriver.exe",
}),
【自动化Chrome插件打包与加载的Webpack插件详解】相关文章:
2.米颠拜石
3.王羲之临池学书
8.郑板桥轶事十则
用户评论
这太方便了,终于不用手动一个个安装插件了!
有14位网友表示赞同!
之前一直想把 Chrome 插件整合进项目中,现在可以使用这个工具了吗?
有7位网友表示赞同!
webpack 的功能果然越来越强大,省时又高效。
有15位网友表示赞同!
听起来好厉害,感觉可以提升开发效率不少。
有16位网友表示赞同!
终于不用再担心插件冲突的问题了!
有14位网友表示赞同!
好奇这个插件的原理是什么?有没有相关的教程讲解?
有18位网友表示赞同!
是不是只有 Chrome 插件可以用这个工具呢?其他浏览器的插件怎么办?
有14位网友表示赞同!
会不会有版本兼容性的问题?所有版本的浏览器都能正常使用吗?
有10位网友表示赞同!
这款工具对开发新手友好吗?简单易用吗?
有9位网友表示赞同!
希望能看到相关的源码和案例,方便学习使用。
有8位网友表示赞同!
这个工具可以用来打包多个插件吗?还是只能处理单个插件呢?
有12位网友表示赞同!
看起来很酷炫,一定会让开发工作变得更轻松!
有20位网友表示赞同!
想了解一下这个插件的性能表现,会不会对加载速度造成影响?
有14位网友表示赞同!
是否支持自定义配置选项?比如添加一些特定的加载规则?
有6位网友表示赞同!
有没有考虑提供命令行工具接口,方便自动化构建?
有10位网友表示赞同!
如果想要更新插件,需要重新打包整个项目吗?太麻烦了吧!
有13位网友表示赞同!
请问这个工具的社区氛围怎么样?有没有其他开发人员在使用呢?
有18位网友表示赞同!
我想看看这个工具有什么未来的发展方向?是否会有更多新特性加入?
有6位网友表示赞同!
期待看到这款工具能够得到更广泛的应用!可以节省很多时间和精力。
有19位网友表示赞同!
这款工具确实很有潜力,将会改变 Chrome 插件开发的方式!
有14位网友表示赞同!