原创 vue history nginx配置

增加: try_files $uri $uri/ @rewrites; #工作模式及連接數上線 events { worker_connections 1024; #單個工作進程 處理進程的最大併發數 } http { i

原创 css css3 的div垂直居中的方法,百分比div垂直居中

原文鏈接:https://www.haorooms.com/post/css_div_juzhong 我們都知道,固定高寬的div在網頁中垂直居中很簡單,相信大家也很容易的寫出來,但是不

原创 vue element clickoutside 指令和擴展

element中自定義vue的指令之一,clickoutside顧名思義,就是當鼠標點擊了指令所綁定元素的外部時,就會觸發綁定方法。用途就以el-select爲例,當選擇器的下拉框展示時,監聽鼠標點擊事件,如果鼠標位置在整個選擇器

原创 重置 清除 vuex store

const getDefaultState = () => { return { items: [], status: 'empty' } } // initial state const state =

原创 Node.js 的 EventEmitter解讀

原文鏈接:https://juejin.im/post/5b0189fe51882567161ad8ef Node.js核心API基於異步事件驅動的架構,fs.ReadStream可以通

原创 JavaScript 正則表達式匹配漢字

一個可能有 20 年曆史的正則表達式 在谷歌搜索「JavaScript 正則表達式匹配漢字」的時候,前幾條結果全都是/[\u4e00-\u9fa5]/。沒有人懷疑這個正則表達式有什麼問題,那麼在 2018 年的今天,讓我們站在 C

原创 js 主動觸發esc

if (HTMLElement && !HTMLElement.prototype.pressKey) { HTMLElement.prototype.pressKey = function

原创 nginx 代理配置 多個服務配置 socke配置

user root; worker_processes 1; events { worker_connections 1024; } http { include mime.types;

原创 數組去重 JS數組reduce()方法詳解及高級技巧

reduce()方法可以搞定的東西,for循環,或者forEach方法有時候也可以搞定,那爲啥要用reduce()?這個問題,之前我也想過,要說原因還真找不到,唯一能找到的是:通往成功的道路有很多,但是總有一條路是最捷徑的,亦或許

原创 http、TCP/IP協議與socket 之間的區別

http、TCP/IP協議與socket之間的區別 網絡由下往上分爲: www.2cto.com 物理層– 數據鏈路層– 網絡層-- IP協議 傳輸層--

原创 JS實現判斷滾動條滾到頁面底部並執行事件的方法

需要了解三個dom元素,分別是:clientHeight、offsetHeight、scrollTop。 clientHeight:這個元素的高度,佔用整個空間的高度,所以,如果一個div有滾動條,那個這個高度則是不包括滾動條沒顯

原创 nginx 的啓動、停止與重啓

sudo vim nginx.conf 詳解 ./nginx #打開 nginx nginx -s reload|reopen|stop|quit #重新加載配置|重啓|停止|退出 nginx nginx -t #測試配置

原创 js 數字三位加逗點

function formatNum(str) { var newStr = ""; var count = 0; // 當數字是整數 if (str.indexOf(".") == -1) {

原创 vue iview的一些坑

1 動態修改form的form-item 要保證 每個key 不重複 2:平級的v-for 也要保證index 不重複 最好用div包裹 3:v-for和modal彈出框不能在平級,最好用div包裹 如若不是,會出現數據報錯,不加載

原创 前端單元測試

爲保證代碼的質量,單元測試必不可少。本文記錄自己在學習單元測試過程中的一些總結。 TDD與BDD的區別 TDD屬於測試驅動開發,BDD屬於行爲驅動開發。個人理解其實就是TDD先寫測試模塊,再寫主功能代碼,然後能讓測試模塊通過測試,而B