美文网首页
从0到1开发前端项目一键发布chrome插件

从0到1开发前端项目一键发布chrome插件

作者: hello_小丁同学 | 来源:发表于2021-07-27 17:22 被阅读0次

背景

公司的前端可视化发布系统watt,测试环境打包操作步骤比较多,于是便萌发了写一个一键发布项目的chrome插件的想法。

watt测试环境正常发布流程:

  1. 进入watt
  2. 从项目列表中找到需要发布的项目
  3. 若是项目比较多,需要模糊查找
  4. 点击发布,弹出二次确认按钮
  5. 再次点击确认才能成功发布

使用插件后的发布流程:


image.png

点击跳转watt并发布测试即可发布。

项目思路

该项目主要是为了在项目开发时,可以快速发布测试环境。同时为了避免误操作,只有判定当前为开发环境时,跳转watt并发布测试的功能才会开启,而且只会发布测试环境。其他环境只会显示 image.png

只做页面跳转。

项目实现原理

一 使用正则解析当前页面url

const LOCAL_URL_REGX = /^(https|http)?:\/\/[0-9.]+:[0-9]+\/bixin\/([\w-_]+)\/index.*/
const DOMAIN_URL_REGX = // 出于安全考虑此正则就不展示出来了
    async getApplicationName () {
      const url = this.currentUrl
      let applicationName = ''
      if (url.match(LOCAL_URL_REGX)) {
        // 针对开发环境,域名是纯IP地址的问题
        applicationName = url.replace(LOCAL_URL_REGX, '$2')
        this.currentEnv = 'dev'
      } else if (url.match(DOMAIN_URL_REGX)) {
        applicationName = url.replace(DOMAIN_URL_REGX, '$2')
        this.currentEnv = 'online'
      }
      return applicationName
    },

项目名称也会出现在url路径中,项目名称也是watt中的应用名称,这是能够应用正则解析出应用名称的基础。 上面两个正则分别处理开发环境和其他场景。

二 获取cookie

    async fetchCookie (name, url) {
      return new Promise(resolve => {
        chrome.cookies.get({ name, url }, (info) => {
          resolve(info)
        })
      }

使用上述chrome api获取watt域名使用的cookie

三 根据应用名获取watt项目详情

调用watt对应的api接口,获取应用名对应的应用详情,watt应用名在不同的bu下是不保证唯一的,此插件目前并未处理应用名重复的问题,若有多个,只会使用第一个。(将来会处理这种情况)
若是获取到应用信息,则会拼接watt部署页面链接,可以直接跳转到该应用的发布页;
若是未获取到应用信息,则会跳转到watt个人应用页面;

四 根据应用信息,调用测试环境发布接口

若是开发环境,并且获取到应用项目详情,则会显示 image.png

此按钮,点击就会触发测试环境发布接口,同时会跳转到发布页。

相关文章

  • 从0到1开发前端项目一键发布chrome插件

    背景 公司的前端可视化发布系统watt,测试环境打包操作步骤比较多,于是便萌发了写一个一键发布项目的chrome插...

  • Web前端开发Chrome插件

    越来越多的前端开发人员喜欢在Chrome里开发调试代码,Chrome有许多优秀的插件可以帮助前端开发人员极大的提高...

  • 从0开始搭建webpack环境

    为了方便以后前端项目的开发,决定从0开始搭建一个webpack环境的工程项目,也算是对webpack插件指南和we...

  • chrome浏览器常用插件-开发人员

    作为前端开发人员,整理了一些 chrome 浏览器常用的插件(扩展程序)。chrome 应用商店插件有很多,复制名...

  • Chrome DevTools

    Chrome以其界面简洁、大量的应用插件、良好的代码规范支持、强大的V8解释器,和Chrome开发者工具给前端开发...

  • 开发笔记

    最近做rails开发。 1 chrome 插件 postman这个chrome插件,用来调试api还是颇为方便的。...

  • Mac下导出chrome插件

    Mac下导出chrome插件Chrome Extensions 插件扩展程序开发入门mac 下chrome扩展插件...

  • react-native Expo 下载

    reactNative开发工具 Expo自行下载:Chrome插件下载(需要梯子翻墙)1、下载Chrome插件AP...

  • Chrome插件开发

    Chrome插件开发

  • Vue封装插件并发布到npm上

    目录 Vue封装插件创建项目修改配置测试插件 发布插件到npm 文章参考 Vue封装插件 1. 创建项目 这里采用...

网友评论

      本文标题:从0到1开发前端项目一键发布chrome插件

      本文链接:https://www.haomeiwen.com/subject/orrzpltx.html