原创 ESLint + TypeScript配置全局變量

其實ESLint + TypeScript的組合還是挺香的,代碼風格檢查 + 類型檢查,能省下不少時間。 但是還是存在一些問題。比如,有時候爲了減小打包大小,我們可能會選擇把一些不太關鍵的依賴放到CDN上,然後再通過<script

原创 在nuxt項目中使用keep-alive的兩種可能方案

關於Vue中keep-alive的作用,以及在部分場景下由於避免重複請求、重複渲染的性能提升,想必大家都很清楚了,在此不再贅述。 但是在nuxt項目中使用keep-alive就有個問題,比如我有一個用到嵌套路由的頁面,導航欄(或者

原创 精讀EMCAScript規範:完成記錄(Completion Record)

其實本來是想寫很長的,但是後來讀到阮一峯老師的《ES6標準入門》,感覺“前人之述備矣”,無心再寫下去。姑且放上已經寫好的這一節。 本文基於EMCA 2019規範。 之所以下定決心寫這個東西,是因爲今天遇到了一個問題。你肯定見過

原创 Windows 10環境下V8引擎的編譯方法

先說說爲什麼我要幹這個事吧。看起來內核跟我們日常開發沒什麼關係,但是在做性能優化的時候,性能分析可能會需要深入到彙編指令的層面;可以利用d8做到這一點。比如: ./out/x64.debug/d8 --print-opt-cod

原创 前端可能用到的工具的代理設置方法

因爲衆所周知的原因,很多國外的資源沒法下載,或者速度很慢;最近編譯了一次V8,下載過程中再次充分體會到了這一點……所以就稍微記錄一下平時用到的一些工具的代理的設置方法。因爲我主要用的是Windows,下面的內容也是基於Window

原创 pow函數有四樣寫法,你知道嗎

求次冪是個老生常談的話題了,在任何一門語言裏都是最基礎的部分。在這裏主要以JS爲例。 首先,最容易想到的是暴力法,也就是連續乘上n個x;但是這個的性能顯然很差,我們一般不會考慮這麼寫。而且,爲什麼不用內置函數呢?調內置函數沒什麼難

原创 在Vue項目中導入外部字體的幾個注意點

因爲項目裏有需求,要做一個代碼展示。既然要做代碼展示,高亮可以用highlight.js(當然這裏沒有這個需求,只是單純做一個展示),同時字體也是必不可少的,用瀏覽器的默認字體總覺得差點啥,所以就有此一說。找了半天,我用了Sour

原创 關於快樂數的一個猜想

有一段時間沒寫博客了,今天看到快樂數,突然想起很久之前的一個猜想,就又翻了出來。 快樂數的特性是什麼?該數字所有數位的平方和,得到的新數再次求所有數字的平方和,如此重複進行,最終結果一定爲1。而我們知道,INT_MAX是21_47

原创 element-ui表單驗證,value一直爲undefined的一種可能解決方案

有很多人遇到過這個問題,但是一般都是因爲prop沒寫對,或者沒有在data裏聲明;但我遇到的情況這兩者都不是。代碼如下: <template> <el-form :rules="rules"> <el-form-ite

原创 簡單談談XML DOM parser

定義 DOM是什麼?DOM的全稱是Document Object Model,即文檔對象模型。 可能前端同學對這個會比較熟悉;事實上,HTML中的DOM和XML中的DOM是同一個概念。我們來看看W3C對DOM的定義: “The

原创 關於C++的構造函數與析構函數的調用順序

其實這個是一個比較基礎的問題,因爲今天有人問我這個事情,我就拿出來稍微複習了一下,順便記錄一下。 題目是這樣的,解釋一下這個程序的運行過程: 首先需要明確: C++析構函數的調用順序與構造函數的調用順序相反。 C++對象的生命

原创 docker部署nuxt項目報錯“讀取文件頭錯誤 (連接被對方重設)”的解決方案

症狀是這樣,在服務器上手動運行是可以的,也可以訪問localhost:3000,但打包放進docker裏啓動之後就不行了,雖然能ping通,但是會一直報錯“讀取文件頭錯誤 (連接被對方重設)”。 看了很多文章,大概原因是host不

原创 React + TypeScript實現上傳整個文件夾

兼容性還有待測試,剛換了個電腦,環境還沒配完……反正在不同的瀏覽器裏是不太一樣的,主要是在輸入框的顯示上,因爲原生的實現在這一塊不太一樣;但是用還是能用的。 今天下午突然收到私信,有人問我怎麼在React裏用TypeScript

原创 Vue 2.x TypeScript 按需引入element-ui

在業務中,只要使用組件庫,就不可避免的要涉及到按需引入的問題,尤其是element這種重量級的組件庫,如果一次性全部引入,對整個項目的大小影響很大。但是,element官方只提供了基於babel的按需引入方案(babel-plug

原创 @vue/cli創建項目報錯ERROR Failed to get response from /vue-cli-version-marker的解決方案

致謝:CSDN@beeegood提供的問題。 今天他們遇到一個很有意思的bug,用@vue/cli創建項目的時候報錯了,還是個從來沒見過的報錯: 一開始以爲是版本問題,畢竟報錯信息上寫着update,但是cli的版本是最新的