原创 谷歌擴展程序manifest.json常用字段解釋

後臺網頁 用戶界面 內容腳本 Manifest.json { // 必選 "manifest_version": 2, "name": "擴展程序名字", "version": "版本字符串", //

原创 npm包的發佈

.npmignore和.gitignore Use a .npmignore file to keep stuff out of your package. If there’s no .npmignore file, but

原创 使用create-react-app開發Chrome插件

chrome插件 下面是我學習谷歌插件開發時看的一些文檔博客 使用React.js開發Chrome插件 Chrome插件(擴展)開發全攻略 manifest.json字段解釋 中文文檔 英文官方文檔 圖靈Chrome擴展及應用開

原创 Jenkins配合webhook實現push,自動構建併發送郵件

Jenkins 安裝java8 jdk sudo apt-get update sudo apt-get install openjdk-8-jdkgit 安裝jenkins sudo apt-get update su

原创 一鍵刪除遠程或者本地合併到master的分支

git branch --merged|–no-merged [分支名] 參數解釋 --merged查詢已經合併到當前分支的分支名 --no-merged查詢未合併到當前分支的分支名 分支名不加,則默認爲當前分支 git bra

原创 瀏覽器的迴流、重繪和FOUC

要了解什麼是迴流和重繪,首先要知道一個頁面是如何在瀏覽器中渲染的。 瀏覽器渲染頁面步驟 瀏覽器把HTML解析成DOM樹;把CSS解析成CSSOM樹 DOM樹和CSSOM樹合併成render樹 根據renderTree來佈局,計算

原创 多個react實例報錯解決

問題 開發了一個根據jsonSchema渲染表單的庫babel-form,在其他項目中使用並調試babel-form時出現hooks報錯。排查發現是因爲使用了多個react版本。 注意:本文場景是一個項目引用了babel-form

原创 如何調試node_modules中的包

問題 本地開發需要調試node_modules中包。這個時候該如何調試吶? 本文假設該包clone到本地,或者你就是該包的作者 解決 npm link npm link解釋 使用步驟 假設有個項目 projcet,引用了p

原创 shell前端軟件包管理器 yum

linux yum 命令 yum( Yellow dog Updater, Modified)是一個在Fedora和RedHat以及SUSE中的Shell前端軟件包管理器。 基於RPM包管理,能夠從指定的服務器自動下載RPM包並且

原创 css3 attr屬性實現元素hover展示不確定的值

接到一個需求,樓層hover時候展示當前樓層的name和order。 方案一 js 這個我就不細講了,不是這邊文章想要講的 方案二 css3 attr屬性 對瀏覽器兼容不是很在意可以使用。 什麼是attr CSS表達

原创 sessionStorage詳解

sessionStorage可以使用setItem設置、getItem獲取、removeItem刪除、clear清空。具體詳見MDN MDN解釋 sessionStorage 屬性允許你訪問一個 session Storage

原创 momorepo實踐

monorepo 什麼是monorepo和multirepo What Is a Monorepo? monorepo有啥優缺點 Why startups need to use monorepo in 2019?

原创 webpack源碼初探

本文只是筆者初次學習webpack源碼所寫(感謝依柳誠提供的閱讀webpack源碼的思路),供以後精讀作目錄使用。 vscode debug lib/index.js入口 lib/webpack.js const w

原创 使用ajv校驗json schema

使用ajv-errors生成json-schema錯誤信息 ajv-errors給Json-schema添加了一個errorMessage關鍵字,通過這個關鍵字來輸出錯誤信息 const Ajv = require('ajv')

原创 使用ajv-keywords給json schema添加自定義關鍵字

JSON Schema的關鍵字太少,有些默認的校驗無法滿足效果,需要自定義校驗關鍵字,ajv-errors提供一些常見的validator關鍵字 用法 var Ajv = require('ajv'); var ajv = n