原创 使用jiphy實現javascript/python的相互轉換

在某些及其特殊的情況下,我們需要讓js與python能夠互相轉換,這裏推薦jiphy,安裝jiphy需要事先安裝好python,安裝python很簡單,但裝好後記得把python根目錄與scripts所在路徑添加到path變量中去

原创 React中載入browser.js以及.jsx文件的正確姿勢

衆所周知,React 使用 JSX 來替代常規的 JavaScript,但jsx使用的是ES6b標準,而目前很多瀏覽器仍然只支持ES5,所以我們就需要將jsx轉成普通js。在生產環節中,我們通常直接將jsx編譯爲js,但自己調試的

原创 JavaScript的this機制與箭頭函數(一)——this綁定的4種機制

傳聞JavaScript有兩座大山——this與作用域,在函數中,這兩個難點會交織在一起。本來this就一臉懵逼,又有同樣懵逼的作用域,所以說很多人就會 es6中,又出現了一個箭頭函數,箭頭函數的this又比普通函數的thi

原创 node如何使用socket.io向指定客戶端發送消息

在node使用socket.io進行websocket通信時,會遇到一個問題 ——服務器如何向指定客戶端發送消息,只會羣發多麼無聊對吧。 我們知道,客戶端與服務器建立鏈接會觸發connection事件 io.on("connec

原创 npm管理員身份install時出現權限問題

在用npm安裝模塊時,雖然我是通過管理員身份執行的,但依然會報有關權限的錯 這是因爲我手賤升了個級,升到了最新的5.3.0。升級之後應該在install後面加上–no-optional 所以說,同志們,不要盲目最求最新

原创 exports與module.exports還有import

由於JavaScript缺乏模塊體系,在ES6之前,社區指定了一些模塊加載方案,比如node.js所遵循的commonJS規範。而在ES6在語言層面上實現了模塊功能,完全可以取代現有的commonJS等規範,成爲瀏覽器、服務器通用的模塊解

原创 爲什麼要使用computed而不是data獲取vuex中的state

最近在學習vuex時,照着官網最基本的 Vuex 記數應用示例敲的時候遇到了這樣一個問題 想實現的效果: 點擊加號、減號實現數字增減 vuex設置: Vue.use(Vuex); //這裏直接把vuex寫入vue的原型鏈,實際上

原创 js延遲加載的幾種方法

衆所周知,在一個HTML頁面加載的時候,如果遇到script標籤,一般情況下會停止頁面渲染,轉而加載並執行腳本,等到腳本執行結束後才繼續渲染頁面。 但世界上存在可以使js延遲加載的方法,這些方法有助於提高頁面加載速度 1.defer屬性

原创 使用Nuxt.js改造已有項目

前言 如果我們需要對現有的vue項目進行ssr改造,使用nuxt.js是一個不錯的選擇。這裏用作例子的“現有項目”是一個“高仿”餓了麼外賣APP的spa。不過我沒有把全部功能開發出來(全部做出來就不得了了),只是做出幾個基本界面意思意思

原创 styled-components設置組件屬性

問題 最近在試着用react做一個音樂播放器,在這之前其實並不瞭解styled-components,但由於使用css in js並且想實現hover效果,百度各種解決方案後發現了styled-components這個好東西,如果你看到了

原创 幾種手動實現HMR的方式

1.前言 衆所周知,在webpack中使用模塊熱替換(HMR),能夠使得應用在運行時,無需開發者重新npm run dev、刷新頁面,便能更新更改的模塊,並且將效果及時展示出來,這無疑極大的改善了前端同學們的生活。 當然,目前有許多腳手

原创 解決koa2 ctx.render is not a function

最近在學習使用koa2,在嘗試用koa2複寫之前用express寫的一個入口文件的時候發現命令行報錯ctx.render is not a function 項目路徑如下 app.js是之前用express寫的入口文件 ko

原创 vuex中mutation/action的傳參方式

前言 在vuex中提交 mutation 是更改狀態的唯一方法,並且這個過程是同步的,異步邏輯都應該封裝到 action 裏面。對於mutation/action,有一個常見的操作就是傳參,也就是官網上說的“提交載荷”。 這裏是關於如何

原创 mongodb如何更新數組中嵌套的對象

前言 衆所周知,mongodb以類似json的數據格式——bson儲存數據,它允許數據之間相互嵌套,所以說,查找、修改嵌套比較深的字段就成了一個問題。假設有那麼一個collection { "_id" : ObjectId("5a

原创 函數節流與函數防抖

最近經常看到“函數節流”與“函數防抖”,於是便總結了一篇文章 出現原因 某些事件,如mousemove、scroll等是會不斷觸發,如果對應處理函數中有執行DOM操作、加載資源的行爲,那很有可能會導致瀏覽器卡頓、崩潰等 目前主流的解決方