精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

面對躺平同事,我開發了一個插件治好了我的精神內耗

開發 前端
我們開發的插件主要是在文件編譯時,將文件中的console智能的清除,對應的插件hook為transform。基本的結構如下。

插件已經開源了,可以看文章末尾

console狂魔能有多狂

事情是這樣的,前段時間我加入了公司某個小項目組

入組第一天,我要來了項目權限,下載完代碼和依賴

然后npm start,打開瀏覽器控制臺,

我尼瑪,一個登陸頁面就這么多log?

此刻我懷著忐忑的心情打開了自己的即將負責的模塊入口頁面:

這讓我怎么調試啊?

圖片圖片

上圖我已經把敏感信息屏蔽掉了(^/ω\^),每點擊下頁面就會蹦出好幾行console

全局一搜索,居然有近800多條console語句。

圖片圖片

起初,我為了方便我調試,我把影響我調試的console一一注釋了,真是個體力活。

就在我開心了幾天后,同事在開發群里發問了,“我調試打印的console怎么不見了?”,

我說我注釋了,那么多console我沒法調試啊,然后就被好幾個同事”圍攻“了,

后來想想沒經過人家的同意修改人家的代碼確實不對!

其實從他們的代碼來看,完全是躺平的狀態,完全放棄了公司的代碼規范,真的很讓人emo。

emo時間的思考

既然人家喜歡那樣做,我也沒辦法,emo了一會,我就尋找別的方法解決讓我強迫癥發作的方法。

第一種方法是如果有console就不讓提交代碼,顯然不現實,

第二種方法是使用去除conosle的插件,但是有個缺點,我的console也會被去掉,

焦慮了好久,我就想到,有沒有一種插件,在開發環境只展示開發者自己的console,但是不影響別人開發時調試。

找了好久都沒找到,那就自己動手開發一個吧。

我的思路是

  • 在每個文件中匹配console語句
  • 用匹配到的行,請求git,查看當前行的作者
  • 如果不是我就統統刪除console之后再build

這樣既不會干擾我開發,也不會影響別人開發調試了。

上次的文章已經介紹了vite的插件開發了,這里就不贅述了。

我們開發的插件主要是在文件編譯時,將文件中的console智能的清除,對應的插件hook為transform。基本的結構如下。

const RemoveConsole = (): {
  name: string;
  enforce: 'pre';
  transform: (code: string, id: string) => any;
} => {

  return {
    name: 'remove-console',
    enforce: "pre",
    transform: (code, id) => {
      // todo something
      return code
    }
  }
}

接下來一步步實現,

匹配console語句

如果文件中存在console則進行分析,否則返回原代碼。

分析過程:

  1. 按行劃分
  2. 分析出包含console的行

查詢git作者

主要使用child_process子進程運行git命令,根據命令的返回結果分別處理,

例如我們或者當前作者:

const userName = childProcess.execSync(
  `git config user.name`,
  { encoding: 'utf-8' }
)
console.log(userName)
// mmdctjj

分析每行作者,使用的git命令是

// 查看指定問價你的l1到l2行的作者詳細信息
git blame -L l1,l2 --porcelain filepath

圖片圖片

我們還需要在此基礎上改造下,完整的命令如下:(win不知grep命令,可以使用findstr代替)

git blame -L ${line+1},${line+1} --porcelain ${id} | grep "^author "

接著從字符串中截取出作者

const author = authorInfo.slice(authorInfo.indexOf(`author `) + 7)

根據當前作者和conosle的作者是否相等。我們得出需要刪除的行

// 需要刪除的行
 const removeLine = includesLines.filter(line => {
    const authorInfo = childProcess.execSync(
      `git blame -L ${line+1},${line+1} --porcelain ${id} | grep "^author "`,
      { encoding: 'utf-8' 
    )
    const author = authorInfo
      .slice(authorInfo.indexOf(`author `) + 7)
      .split('\n')[0]
      
    return author !== userName
})

刪除console

接著我們遍歷每一行,進行替換

const newRows = rows.map((row, idx) => {
  if (removeLine.includes(idx)) {
    // 正則表達式替換完整的console.log語句 
    return row.replace(/console\.log\((?:[^)(]|\((?:[^)(]+|\([^)(]*\))*\))*\)[;\n]?/g, '')
  }
  return row
})
const newContent = newRows.join(`\n`)

return newContent

測試

我們驗證下效果。這個文件中有多個console語句

圖片圖片

image.png

圖片圖片

十分完美!!!

今天的分享就到這了,感謝你的觀看,如有錯誤的地方,歡迎指正!

最后附上我的

?? vite插件: rollup-plugin-remove-others-console

插件地址:https://www.npmjs.com/package/rollup-plugin-remove-others-console

github地址:https://github.com/mmdctjj/rollup-plugin-remove-others-console

?? webpack loader: remove-others-console-loader

loader地址:https://www.npmjs.com/package/remove-others-console-loader

github地址:https://github.com/mmdctjj/remove-others-console-loader

責任編輯:武曉燕 來源: 萌萌噠草頭將軍
相關推薦

2022-09-17 08:10:20

HSV飽和度圖像

2025-04-17 04:22:00

Log插件日志管理

2023-02-13 00:18:22

前端庫框架集合

2022-11-10 09:28:40

框架開發

2022-08-31 15:57:11

程序員

2021-02-06 23:26:25

聊天室開發WebSocket

2022-01-06 14:05:07

Vue代碼前端

2025-08-12 00:02:10

CSS屬性字體

2023-06-14 09:41:32

2021-04-27 07:52:19

StarterSpring Boot配置

2025-03-11 01:28:16

2013-05-13 10:24:44

谷歌開發團隊開發管理

2021-02-02 11:59:15

插件開發工具

2021-02-20 07:52:35

防猝死插件 IDEA

2020-05-09 08:09:36

中臺阿里平臺

2013-05-21 09:32:11

ChromebookChrome OS

2021-03-02 07:33:10

VSCode插件代碼

2022-03-07 05:53:41

線程CPU代碼

2022-06-08 08:14:27

Dubbo數據包源代碼

2021-02-23 09:06:00

MVCC版本并發
點贊
收藏

51CTO技術棧公眾號

中文字幕第三区| 情事1991在线| 狠狠爱免费视频| 国产农村妇女毛片精品久久| 免费成人av| 亚洲欧美国产三级| 日本精品在线视频| 国产国语老龄妇女a片| 欧美一级二级三级区| 99亚洲一区二区| 91精品在线免费| 午夜精品美女久久久久av福利| 日韩三级视频在线播放| 亚洲一区二区免费在线观看| 国产精品久久久久影院老司| 国产成一区二区| 国产精品三级在线观看无码| av2020不卡| 丁香婷婷深情五月亚洲| 欧美xxxx18国产| 中文字幕avav| 久久亚洲资源| 粉嫩欧美一区二区三区高清影视| 欧美大奶子在线| 欧美精品色视频| 最新av在线播放| 国产一区二区视频在线| 久久天天躁狠狠躁夜夜躁| 中文字幕亚洲欧洲| 国产精品久久久久久福利| 久久91精品国产91久久小草| 久久中文精品视频| 久久人人爽人人片| av免费在线视| 成人av网站大全| 69视频在线免费观看| 精品无码在线视频| 免费在线观看一区| 国产精品传媒视频| 91入口在线观看| 国产精品第56页| 亚洲免费专区| 欧美四级电影在线观看| 亚洲最新免费视频| 精品人妻少妇嫩草av无码专区 | 香蕉久久夜色精品| 亚洲美女中文字幕| 欧美一级裸体视频| 麻豆最新免费在线视频| 懂色av一区二区三区免费看| 97精品伊人久久久大香线蕉 | 日本一区二区三区dvd视频在线| 国产999在线| 亚洲精品久久久久久国| 国产精品男女| 色噜噜夜夜夜综合网| 亚洲视频欧美在线| 亚洲国产精彩视频| 肉肉av福利一精品导航| 久久精品电影网站| 国产精品一区二区人妻喷水| 成人国产一区| 一区二区三区小说| 日本不卡二区高清三区| 国产男男gay体育生网站| 黄色成人av网站| 一区二区亚洲欧洲国产日韩| 中文字幕一二三| 成人爽a毛片免费啪啪| 最新欧美精品一区二区三区| 国产综合色一区二区三区| 中国老头性行为xxxx| 伊人天天综合| 久久影院资源网| 亚洲第一页在线| 日韩专区第三页| 免费在线观看污视频| 精品无码三级在线观看视频| 国内精品久久久久久| 亚洲图片第一页| 欧美激情极品| 91精品国产全国免费观看| 色综合久久久久无码专区| 日本视频不卡| 久久日韩粉嫩一区二区三区| 91国产在线播放| 亚洲成人av网址| 一区二区国产在线观看| 九九视频这里只有精品| 婷婷综合在线视频| 亚洲宅男一区| 亚洲精品电影在线| 久久久无码人妻精品无码| 另类一区二区三区| 色综合天天做天天爱| 日本黄色片一级片| 成人看片免费| 日韩一区欧美一区| 亚洲高清在线观看一区| 男女av在线| 91免费观看视频在线| 国产精品一区视频网站| 国产成人a人亚洲精品无码| 奇米影视一区二区三区| 国产91色在线|| 国内自拍视频在线播放| 日韩午夜高潮| 97婷婷涩涩精品一区| 久久久久久久久艹| 欧美日韩亚洲一区三区| 欧美精品一区在线播放| 一区二区成人免费视频| 91av精品| 久久夜色精品国产| 国产精品久久久精品四季影院| 国产精品久久久乱弄| 中文字幕国产精品| 亚洲色图 激情小说| 成人高清电影网站| 伊人久久大香线蕉av一区二区| 中文字幕国产专区| 免费成人av| 国产亚洲美女久久| 亚洲第一综合网| 国内精品久久久久久久久电影网| 亚洲天堂第一页| 男人的天堂官网| 91综合久久| 美日韩精品免费观看视频| 亚洲色婷婷一区二区三区| 国产一区视频在线观看免费| 午夜精品久久久久久99热软件| 日韩毛片在线播放| 美女精品在线| 国产日韩在线免费| 精品国产亚洲AV| 99久久精品免费看国产免费软件| 久久波多野结衣| 国产天堂在线| 亚洲人成网站影音先锋播放| 国产91视频一区| 欧美日韩国产观看视频| 欧美性猛片aaaaaaa做受| 中文字幕 日韩 欧美| 亚洲精品一区国产| 国产视频一区在线| 中文字幕无码日韩专区免费| 亚洲天堂黄色| 日本成人精品在线| 国产精品怡红院| 成人国产在线观看| 欧美亚州在线观看| 国产一二三区在线观看| 精品国产成人在线| 亚洲视频一二三四| 国产乱论精品| 色av吧综合网| 日本熟伦人妇xxxx| 美女爽到高潮91| www 成人av com| 国产香蕉视频在线看| 亚洲美女在线国产| 日本在线视频www| av在线一区不卡| 精品电影一区二区三区| av男人的天堂av| 国产精品a级| 国产成+人+综合+亚洲欧洲| 99免费在线视频| 久久精品视频免费| 精品国产一区二区三区无码| 日韩另类视频| 亚洲精品99久久久久| 少妇高潮在线观看| 天堂一区二区在线| 国产亚洲情侣一区二区无| 天堂地址在线www| 欧美丝袜一区二区| 日本精品一二三| 亚洲xxx拳头交| 国产成人精品午夜| 国产91免费在线观看| 中文字幕永久在线不卡| 国产精品人人妻人人爽人人牛| 国产亚洲高清一区| 日韩在线观看高清| 亚洲精品久久久久久久蜜桃| 东方aⅴ免费观看久久av| 中文字幕免费在线不卡| 午夜欧美巨大性欧美巨大 | www国产一区| 国产精品激情偷乱一区二区∴| 凹凸国产熟女精品视频| 波多野结衣在线一区二区| 精品国产拍在线观看| www.久久网| 久久久久九九视频| av动漫在线观看| 欧美大胆视频| 8090成年在线看片午夜| 亚洲女人18毛片水真多| 亚洲一区免费在线观看| 自拍视频第一页| 欧美一区二区| 91精品一区二区| 麻豆影视在线观看_| 欧美视频一区二区三区四区| 亚洲第一视频区| 日韩av一区二区在线影视| 欧美视频观看一区| 偷拍视频一区二区三区| 在线观看国产成人av片| 进去里视频在线观看| 日本一区二区三级电影在线观看| 国产精品视频黄色| 日韩中文字幕高清在线观看| 国产精品中文字幕在线| 在线激情免费视频| 91精品国产欧美一区二区成人| 国产精品三区在线观看| 国产一区二区日韩精品| 国产一级不卡视频| 美女扒开腿让男人桶爽久久动漫| 91精品国产乱码久久久久久蜜臀 | 日本vs亚洲vs韩国一区三区| 日韩性感在线| 成人福利片在线| 久久人人爽人人爽爽久久| 国产手机av在线| 亚洲午夜视频在线观看| 中文字幕在线永久| 麻豆精品网站| 伊人av成人| 风间由美一区二区av101| 97色在线视频| 国产h视频在线观看| 欧美日韩亚洲综合在线 欧美亚洲特黄一级| 青青操在线播放| 国产99一区视频免费| 久久久久久久中文| 青青草成人影院| 91av一区二区三区| 在线视频cao| 最近2019年中文视频免费在线观看| 国产精品一区二区av白丝下载| 亚洲h动漫在线| 精品一区二区三区蜜桃在线| 国产高清一区日本| 男女曰b免费视频| 国产精品久久久久久久| 久久96国产精品久久99软件| 国产精品成人国产| 久久成人亚洲精品| 精品美女视频在线观看免费软件 | 超碰97久久| 欧洲成人午夜免费大片| 国产剧情在线| 亚洲欧美日韩网| 国产91视频在线| 色综合激情五月| 国产黄在线免费观看| 国产午夜精品一区二区三区四区| 免费黄频在线观看| 米奇777在线欧美播放| 日韩中文在线字幕| sdde在线播放一区二区| 国产成人精品免费视频大全最热 | 性猛交xxxx| 欧美麻豆精品久久久久久| 亚洲黄色三级视频| 亚洲日本在线看| 免费看黄色av| 91尤物视频在线观看| 一级黄色免费毛片| 日日欢夜夜爽一区| 精品欧美一区免费观看α√| 欧美成人精品| 亚洲三区视频| 国产不卡av一区二区| 国产精品久久久久久久免费大片| 久久av日韩| 日韩免费av在线| 极品视频在线| 色综合久久88| 国产美女福利在线| 精品国偷自产在线视频99| 国产在线一二三| 日韩电影在线观看中文字幕 | 欧美日韩在线一区二区三区| 亚洲成人偷拍| 成人免费午夜电影| 欧美aaa级| 国产精品久久999| 一级毛片久久久| 97视频免费看| 国产伦理精品| 97碰在线观看| 大桥未久在线视频| 久久久视频精品| 成人高潮aa毛片免费| 色综合五月天导航| 性xxxfreexxxx性欧美| 久久国产精品电影| 1区2区在线观看| 久久综合久久88| 在线观看小视频| 欧美黑人视频一区| 黄色小说在线播放| 午夜精品一区二区三区视频免费看 | 久久国产露脸精品国产| 一区二区三区精品在线| 国产大学生自拍| 亚洲综合一区二区三区| 久久精品国产亚洲av香蕉| 亚洲午夜精品在线| 久久久久久久黄色片| 精品成人乱色一区二区| 日韩精品在线不卡| 欧美日韩一区二区精品| 国产三级精品三级在线观看| 色哟哟在线观看一区二区三区| 国产性生活视频| 欧美三级日韩三级| 在线视频你懂得| 欧美一级夜夜爽| 日韩有码第一页| 亚洲精品久久视频| 国产午夜精品一区理论片| 中文字幕免费精品一区高清| 麻豆视频网站在线观看| 欧美激情在线视频二区| 性欧美xxx69hd高清| 国产精品扒开腿做爽爽爽视频| 日韩成人一区| 岛国一区二区三区高清视频| 天美av一区二区三区久久| 亚洲精品第一区二区三区| 亚洲女同另类| heyzo亚洲| 老司机午夜精品| 中文字幕99页| 日本一区二区视频在线观看| 极品盗摄国产盗摄合集| 欧美日韩亚洲激情| 亚洲视频一区二区三区四区| 日韩精品中文字幕一区二区三区| 午夜成人免费影院| www国产精品com| 蜜桃麻豆影像在线观看| 国产一区二区视频在线观看| 成人福利免费在线观看| 日韩性感在线| 亚洲精品色图| wwwwwxxxx日本| av电影在线观看一区| av片在线免费看| 亚洲成av人片观看| 亚洲网站在线免费观看| 亚洲国产精品成人精品| 欧美私人网站| 热久久美女精品天天吊色| 国产精品免费精品自在线观看| 久久久人人爽| 国产精品分类| 亚洲欧美国产中文| 91麻豆国产在线观看| www.色小姐com| 精品视频在线看| 肉丝一区二区| 欧美激情欧美激情在线五月| 精品福利在线| 久久99久久精品国产| 欧美成人综合| 日本xxxx黄色| 久久婷婷久久一区二区三区| 一区视频免费观看| 欧美日韩一区精品| 青青免费在线视频| 欧美激情第一页xxx| 欧美男女视频| 日韩在线国产| 亚洲一区二区伦理| 日本天堂在线播放| 亚洲精品视频自拍| 伊人久久亚洲综合| 国产亚洲成精品久久| 欧美激情网站| 国产亚洲欧美一区二区三区| 欧美日韩视频| 丰满少妇一区二区三区专区| 日韩一区欧美一区| 一本色道久久综合精品婷婷| 亚洲欧美在线播放| 在线观看爽视频| 精品国产乱码久久久久久88av| 欧美成人tv| 日本少妇一级片| 亚洲一区二区三区美女| www.桃色av嫩草.com| 欧美高清视频在线播放|