原创 Koa 源碼解析

github鏈接

原创 自用 cookie 操作函數

;module.exports = (function () { return { set: function ( name, value, duration = 3600 * 24,

原创 Node 全局變量

Node 全局變量 global 除去一些 ES 中的全局對象、方法與變量, Node 還提供一些全局的內置方法、對象與變量用於幫助程序的執行。這些對象與方法能被應用在所有的模塊中。 可以使用 console.log(global

原创 ES6 模塊語法

ES6 模塊語法 ES6 中引入了 export, import 來用於導入與導出。 export 導出 使用 export 關鍵字來導出一個變量(常量) export const someValue = 1234 expor

原创 redux 源碼解析

目錄結構 . ├── applyMiddleware.js // 使用中間件模塊,有了它就可以組合中間件一起使用 ├── bindActionCreators.js ├── combineReducers.js ├──

原创 Node 代理請求處理跨域

在平時工作中,我們經常遇到這種情況,後端給我們提供了接口,但是在本地開發環境開發的時候會遇到跨域的問題,這個時候,後端由於一些安全性的考慮,不願意配置跨域信息。這個時候,我們就要自己搭建 node 服務器來轉發請求,以實現跨域 安裝環境

原创 react學習(一)-初始項目

安裝腳手架 開始一個項目,我們一般都希望使用最快最簡單的方式來快速生成項目結構,然後在此基礎上進行快速的開發。這個時候就要使用腳手架了,也就是根據現在的社區經驗,得出來最佳初始實例。使用 react開發的時候,我們就可以使用官方提供 c

原创 node 使用 sequelize 操作數據庫不完全指北

開始步驟 npm init -y 安裝依賴 npm i sequelize mysql2 standard --save 連接數據庫 建立連接 新建一個 db.js // 引入依賴 let Sequelize = require('s

原创 工作一年,重新思考閉包

功能 延長變量生存週期 一個經典的例子,這個時候我們就可以看到變量會隨着函數的退出而隨着作用域銷燬。如果我們想要長久的保存這個變量怎麼辦,這個時候,我們就可以用到閉包了。 再舉一個例子,我們都知道 Object.prototype.t

原创 HTTP 協商緩存

Last-Modified與If-Modified-Since 如果沒有任何緩存策略,那麼瀏覽器會默認開啓它。這個時候,我們發起請求,那麼就會看在 response 裏有一個字段 Last-Modified: 然後下一次請求的時候,瀏覽

原创 移動端響應佈局的LESS解決方案

在移動端佈局的時候,因爲不同機型有着不一樣的屏幕寬度,是故我們經常對頁面做出不同的佈局,有時候,有些機型的差距不大,所以我們沒有必要進行多次的重複勞動,所以我們使用響應式佈局。下面是我的一種解決文案,可以讓同一個設計稿在多個不同的環境達到

原创 react registerServiceWorker.js

registerServiceWorker.js 首先我們查看一個這個js文件的說明就可以看出其主要的含義了 // In production, we register a service worker to serve assets f

原创 vuex 源碼解析

目錄分析 # 首先 clone 一下項目 git clone https://github.com/vuejs/vuex.git # 然後進入源碼目錄 cd ./vuex/src # 源碼目錄結構 . ├── helpers.js

原创 讀高性能Javascript筆記

把一段內嵌腳本放在引用外鏈樣式表的 標籤之後,會導致頁面阻塞去等待樣式表的下載. 這樣做是爲了內嵌腳本在執行時能夠獲得最精準的樣式信息. 下載同一個 CDN 下的多個 JS 文件,可以這麼寫: <script src="http:

原创 underscore 源碼解析

(function() { // 先判斷全局環境是什麼,如果存在 self 那就是瀏覽器端,如果存在 global 那就是 node 端。如果是其它的神奇的地方,那就是 this 或者 {} var root = typeof