博客 / 列表

小皇帝James - 編寫babel的插件

前言 Babel 是一個通用的多功能的 JavaScript 編譯器,讓一些新版本的語法或者語法糖可以在低版本的瀏覽器上跑起來。 它有三個主要處理步驟 Parse - Transform - Generate。 在 Transform 轉換過程中通過將插件(或預設)應用到配置文件來啓用代碼轉換。 AST 編寫 Babel 插件非常複雜,需要有相當的基礎知識,在講插件之前必須得提起 AS

ast , plugin , babel , 前端 , Javascript

小皇帝James - 前端腳手架(簡易版)搭建攻略

簡介 腳手架CLI(command-line-interface)是一類快速形成工程化目錄的工具。 開發過程中,如果需要新建前端項目,我們經常都會用到腳手架來創建工程,通過命令行式的交互,可快速選擇選項並完成初始項目的搭建。而CV大法往往會帶來很多重複的刪減工作,且會導致項目分散、架構不統一等等弊端。 常見的主流框架都有自己的腳手架: create-vite @vue/cli create

腳手架cli , 工具 , 前端工程化 , 前端 , Javascript

小皇帝James - 前端代碼規範彙總

前言 本文部分內容基於 Vue,大部分情況下都是前端通用的。 本文旨在規範lint不能解決的前端代碼,不與已有的 eslint、 stylelint、prettier 規則重複。 規範 HTML規範 語義化標籤 標題 h1 ~ h5 列表 ul + li 文字塊 p 佈局 header nav section article aside

規範化 , jsdoc , Css , HTML , 前端

小皇帝James - 表格Table實現前端全選所有功能

前言 最近兩家公司都遇到了全選全頁+批量操作的功能場景,即點擊全選所有的時候需要勾選所有數據包括非當前頁的。 方案 如果純前端分頁可以參考 antdv.table,一般主流的組件庫都給封裝好了。 後端分頁一種方案是: 基於組件庫的現有能力,全選所有時設置 pageSize 為無窮大並調用列表接口得到全量數據賦值給 selectedRowKeys 即可。但是這套方案最大的問題在於

全選 , table , vue3 , selection , Javascript

小皇帝James - 編寫markdown-it的插件和規則

前言 最近看vuePress源碼時發現在使用markdownLoader之餘使用了大量的 markdown-it 插件,除了社區插件(如高亮代碼、錨點、emoji識別等),同時也自行編寫了很多自定義插件(如內外鏈區分渲染等)。 文章結合源碼和自己之前寫過的插件來詳細解讀如何編寫一個 markdown-it 插件規則。 簡介 markdown-it 是一個輔助解析markdown的庫,可以完成

plugin , vuepress , 前端 , Javascript , Markdown