原创 @babel/cli使用總結

@babel/cli是babel自帶的命令行集成工具,本文對其常見的使用api進行了總結。很多情況下我們開發人員看着官網介紹也可以很快的使用該功能,但是爲什麼還要記憶這些呢。 除了使用時可以快速實現意外,還有兩點比較重要的 一:通過總結可

原创 在vue文件中使用render函數封裝實現動態組件

近期遇到一個vue項目中的table頁面,數據和模板強耦合在一個頁面中,看起來比較複雜,維護較不方便,而該頁面又重複性較高,於是嘗試在vue中用循環渲染dom元素,抽離公共部分配置化,很不幸的是v-for並不支持動態的dom元素插入,那麼

原创 數據結構系列-------js五種常見排序方式總結和性能測試

js排序方法有很多,本文就常用的幾種進行了總結,分別是快速排序,冒泡排序,插入排序,歸併排序,選擇排序。 實例: <!DOCTYPE html> <html lang="en"> <head> <meta charset="U

原创 egg生命週期

egg作爲企業級node框架,在封裝的基礎上,又約定了一些規則,集成在了框架之中。像plugins, service,extend等,同時,egg爲了讓用戶能夠更好的參與應用啓動過程,實現了一套生命週期的機制。 egg生命週期提供了統一入

原创 egg插件機制原理

egg提供了豐富的插件,也提供了自定義插件的api,那麼egg插件到底是如何被框架識別並加載的呢。瞭解這個,對開發者來說,可以更好的使用插件,抽離通用插件。 待完善

原创 node事件循環和瀏覽器事件循環的區別

node和瀏覽器都是js運行的環境,二者都給js提供了一個很強大的功能,事件循環。那麼什麼是事件循環呢,簡單講就是在單線程中爲了實現程序的高效運行而設定的事件執行機制

原创 node在大前端中的應用

關於node的使用已經很久了,使用範圍也很廣,似乎有前端的地方就有node,那麼來思考一個問題,node到底是用來幹嘛的呢?本文從五個大的方面對該問題進行了解釋。 我們知道node的出現,讓前端開發既ajax之後,有了全新的面貌,在開發

原创 vue-cli腳手架 vue和vue-cli-service命令詳解

create vue create 後面有很多參數: 源碼如下: program .command('create <app-name>') .description('create a new project powered

原创 node 第三方模塊系列----fs-extra 文件操作相關工具庫

fs-extra模塊 是基於fs 的文件操作相關工具庫,封裝了一些fs實現起來相對複雜的工具,主要使用方法如下: 使用: let fse = require('fs-extra') 常用api: 1. copy 複製文件 copy(s

原创 vscode中 vue ESlint自動修復環境配置詳解

很久沒有寫vue的項目,近期加入了教育疫情項目的開發,重新啓用vue,這裏就vue代碼自動修復環境的安裝,以及可能遇到的 vscode安裝的插件:ESlint, Vetur, eslint-plugin-html (全局安裝) {

原创 vue插槽slot的簡單理解

vue中插槽的使用非常廣泛,本文就插槽的使用和理解簡單總結。 從字面理解插槽是預先插入一個代碼空間,用於後期塞入數據。 插槽分類 匿名插槽     ------------------   匿名的代碼空間 具名插槽     -------

原创 javascript中實例,類,實例的原型,類的原型,以及constructor,prototype的區別和聯繫

javaScript中實例,類,原型等是js語言的核心概念,在充分理解並掌握的情況下,才能在編程中得心應手。近期進行知識歸類總結,對js中的實例,類,類的原型,實例的原型,類的prototype,實例的prototype進行一個總結。 核

原创 實現一個真正的babel插件(不僅僅是替換字符)及 ast操作原理

babel作爲當前源碼編譯的重要工具,有着很重要的地位。babel編譯的核心流程是,先把代碼解析爲AST語法樹,再遍歷AST語法樹並執行操作,最後根據規則生成代碼。流程不復雜,複雜的是如何操作AST語法樹,以及如何編寫babel的插件。

原创 使用react-hooks實現異步獲取數據的封裝

react-hooks作爲react新的api,深受廣大開發者的歡迎,不僅簡化了代碼,嵌套,還更符合react函數式編程的思想。react-hooks並不複雜,但是初期可能很多多學並不理解,不能從class寫法轉變過來。其實class的多

原创 關於class類鏈式繼承,實例化及react super(props)原理

class定義類是es6提供的新的api,比較直觀,class類繼承也有着一定的規律性,在egg, webpack等庫的源碼中有着很多的應用場景。結合一些初學者可能遇到的難點,本文主要對其鏈式繼承進行總結,關於super關鍵字的使用請參考