原创 前端自動化單元測試——should.js、mocha是啥?

上週我們瞭解了node Assert 斷言庫,但是自動化測試要跑起來光靠node Assert肯定是不夠的,文章標題中的這些工具會讓你的單元測試真正成爲自動的並且更加得心應手。那麼我們先來看看它們都是些什麼東西。 should.js 對於

原创 前端單元測試-從node assert 開始

測試對於任何一門技術和工程來說都是不可或缺的重要步驟,這是非常容易理解的。但似乎很多前端的同學對測試都沒有足夠的認識,更談不上使用(這裏面當然也包括我自己~捂臉)。做一件事情一般需要有兩個前提: 1、認識到這件事情的重要與必然性。 2、敢

原创 node+socket.io 實現一個聊天室

我們只做簡單的實現,不接入數據庫,nodejs也不使用express和koa等框架 因此依賴只有兩個: 1、socket.io 2、mime(用於獲取靜態資源時獲取文件的mime類型)   安裝命令: npm install socket

原创 那些可以訪問javascript解析引擎的方法

我們日常寫bug的時候很有時候會用到解析javascript語句字符串的功能,比如我們有時候可能希望函數把一些字符串當成javascript語句執行。 像以前比較老的模板語法很多就使用的Function或eval()等方法在這方面的能力

原创 談談javascript中的多線程

不存在的,javascript中根本不存在多線程...... 先不要慌,沒有多線程我們可以模仿多線程呀!定時器、web workder等等。   存在即合理,爲啥javascript需要多線程?   javascript對於現如今的web

原创 HTTP1.1頭部字段彙總

HTTP/1.1是目前HTTP協議使用最廣泛的版本 HTTP首部字段是構成HTTP報文的要素之一。在客戶端和服務器的交互中傳遞重要的交互信息。 首先首部字段類型分爲四種: 1、通用首部字段(General Header Feilds) 即

原创 IE兼容問題之 “SCRIPT5:拒絕訪問” (document.domain)

你可能也遇到過IE下報:SCRIPT5::拒絕訪問 的錯,說實話,這真的是我見過最噁心的兼容問題之一了,效果如下: 那麼出現這個問題的原因是啥呢? 報這個錯的原因是你的頁面使用了iframe嵌入頁面,同時在父窗口或者子窗口設置了docu

原创 windows通過wamp apache實現代理及反向代理

wamp是一款基於windows平臺的AMP(Apache/MySQL/PHP)集成軟件。安裝和使用都非常簡便,可以讓我們避免由於缺乏AMP的知識而無法正確設置環境。下載安裝:首先可以到官網下載合適版本的wampServer下載,雙擊安裝

原创 git刪除commit方法和誤刪commit後的恢復方法

如果你在git上提交了錯誤的commit,不要慌,通過下面的方法可以回退到之前的commit 1)通過git log可以查看我們之前提交的commit_id: 2)複製你需要回滾的commit_id。不過windows下的命令行是不能複

原创 url-loader不能處理html中引入的圖片問題的解決方案

在我們使用webpack進行項目構建的時候,url-loader是個非常有用的工具, 與file-loader相比,url-loader能將圖片大小在limit限定值之內的圖片轉譯成base64格式的字符串, 這樣能直接減少很多不必要的h

原创 一次搞懂javascript原型鏈和繼承

javascript原型鏈是個很容易被新手前端忽略的重要概念,在初級編程工作中絕大部分人可能會覺的原型鏈似乎沒啥用、因此非常容易被忽略。我自己剛入行那會兒就被面試官問懵過(知道這個東西、卻說不清楚)。1、原型鏈直入主題,原型鏈是js中實現

原创 執行git add . 後仍然報changes not staged for commit錯誤的解決方法

如果你的git倉庫下面還有另外一個clone過來的git倉庫,那麼當你正常git add . 然後git commit的時候一定會得到如下圖的報錯: 並且上傳到倉庫的文件夾是空的 這個時候如果你去網上查找解決方案,可能10個人有九個人會

原创 babel-loader,babel-core,babel-polify,babel-plugin-transform-runtime之間的關係

babel-core在npm官網中的解釋是Babel compiler core.也就是Babel編譯器的核心,因此意味着如果要使用babel-loader進行es6的轉碼你首先必須得安裝babel-cor

原创 前端通過spark-md5.js計算本地文件md5

背景:說到本人第一次使用spark-md5.js還是差不多一年以前的時候了,當時後臺老大說要搞一個文件分片上傳的功能。我當時就心想:what?啥是文件分片上傳,完全沒聽過好嗎?至於我當時內心那個慌就不多描述了,總之文件分片上傳需要一個識別

原创 通過File對象的slice()方法實現文件分片上傳

上傳大文件時由於各種原因突然中斷,然後整個文件都要從頭開始上傳,這種情況真的是非常讓人抓狂,而文件分片上傳也許能避免這種尷尬   文件分片上傳就是把文件分成一個個小塊然後逐個上傳,以文件的md5碼作爲文件的唯一標識,這樣即使上傳到一半中斷