摘要:最近在看,打算跟著書中的代碼敲一遍,加深對(duì)的理解。在這里記錄過程中的問題與心得。根據(jù)排查內(nèi)存耗盡應(yīng)該是這個(gè)版本的問題,換成后問題消失。因此認(rèn)為這種寫法是有風(fēng)險(xiǎn)的,必須用頂上那一行注釋表明我確實(shí)要全局都的才行。不得不感嘆的嚴(yán)謹(jǐn)。
最近在看 build your own angularjs ,打算跟著書中的代碼敲一遍,加深對(duì)AngularJS的理解。在這里記錄過程中的問題與心得。
Introduction有意思的一段話
I hate working with technologies I don’t quite understand. Too often, it leads to
code that just happens to work, not because you truly understand what it does, but
because you went through a lot of trial and error to make it work
值得反思,平常工作中的代碼,有多少是just happens to work after a lot of trial and error,有多少是you truly understand what it does
Project Setup (項(xiàng)目腳手架)沒什么技術(shù)問題,主要是踩坑,記錄如下
P15. Include Lo-Dash And jQuery。Gruntfile配置中的testem.unit.options.serve_files項(xiàng),node_modules/lodash/lodash.js在最新版本中應(yīng)為 node_modules/lodash/index.js
運(yùn)行grunt testem:run:unit 命令行報(bào) atal error: spawn ENOENT
解決:https://github.com/teropa/build-your-own-angularjs/issues/88
windows下npm install -g phantomjs失敗
解決:最新版本phantomjs的問題,指定較低版本可解決
windows下運(yùn)行grunt testem:run:unit 內(nèi)存被大量node與cmd進(jìn)程耗盡
解決:為解決上個(gè)問題,我install了1.9.10版本。根據(jù)排查內(nèi)存耗盡應(yīng)該是這個(gè)版本的問題,換成1.9.11后問題消失。命令:npm install -g phantomjs@1.9.11。(吐槽:這貨到底有多少問題啊)
值得一提的是TDD的開發(fā)方式,貫穿全書始終。以前較少使用TDD,而這正是以Angular、React為代表的新一代前端技術(shù)極力倡導(dǎo)的開發(fā)方式。希望通過這本書能加深對(duì)TDD的認(rèn)識(shí)
Scopes Scopes and DigestAn important step in TDD is seeing the test fail first.
TDD要習(xí)慣先看到test case失敗……額,強(qiáng)迫癥表示壓力山大
js/* jshint globalstrict: true */ "use strict"; function Scope(){ }
這里的"use strict"不難理解,但是頂上那一行注釋去掉的話jshint會(huì)報(bào)錯(cuò)。
查了下原因,如果把"use strict"寫到文件頭的話,會(huì)認(rèn)為整個(gè)文件都是嚴(yán)格模式,一眼看上去沒什么問題,但由于在上線時(shí)有可能存在文件合并的情況,被合并進(jìn)來的文件如果沒有照嚴(yán)格模式寫那麻煩就大了。
因此jshint認(rèn)為這種寫法是有風(fēng)險(xiǎn)的,必須用頂上那一行注釋表明我確實(shí)要全局都use strict 的才行。
不得不感嘆jshint的嚴(yán)謹(jǐn)。
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/85555.html
摘要:初次寫文章,請(qǐng)多多包涵我最近正在根據(jù)這本書從頭開始實(shí)現(xiàn)了一遍的框架。筆記目錄鏈接個(gè)人認(rèn)為本書對(duì)于想了解框架源碼的讀者來說相當(dāng)有用,完全值得去購(gòu)買這本書書本主頁。因?yàn)槭浅鯇W(xué)者,筆記里可能有一些錯(cuò)誤,我也會(huì)繼續(xù)修改。 (初次寫文章,請(qǐng)多多包涵) 我最近正在根據(jù)《Build your own angularJS》這本書從頭開始實(shí)現(xiàn)了一遍AngularJS的框架。我把相關(guān)的源碼和我的個(gè)人學(xué)習(xí)筆...
摘要:前端開發(fā)配置此文件目錄中文件主要是關(guān)于的插件配置,快捷鍵配置,主題和字體配置。插件列表所有插件都可以使用安裝,具體的安裝方法可以自行谷歌安裝,不在本文的介紹范圍之內(nèi)。這兩個(gè)插件主要是平時(shí)使用或者是這些預(yù)編譯語言有用,支持語法高亮。 前端開發(fā)sublimeconfig mac配置 此文件目錄中文件主要是關(guān)于sublime的插件配置,快捷鍵配置,主題和字體配置。 插件列表 所有插件都可以使...
摘要:對(duì)象其實(shí)就是一個(gè)簡(jiǎn)單的。和和就像一個(gè)硬幣的兩面。他們組合在一起就是臟檢查循環(huán)的核心對(duì)于數(shù)據(jù)變化的響應(yīng)。臟值檢測(cè)目的只有監(jiān)控的值發(fā)生改變的時(shí)候我們才執(zhí)行對(duì)應(yīng)的。思路存儲(chǔ)上一次的值,和這一次值的進(jìn)行比對(duì)。中默認(rèn)的為,對(duì)外暴露可修改。 Scope object Scope對(duì)象其實(shí)就是一個(gè)簡(jiǎn)單的POJO(plain old JavaScript Object)。我們可以給它任意的添加屬性。 /...
摘要:我們通常通過其區(qū)分大小寫的規(guī)范化名稱例如,來定義指令。在其目前的實(shí)現(xiàn)上,我們應(yīng)該需要去創(chuàng)建一些不同點(diǎn)控制器用來重用這個(gè)指令。如此,綁定是理想的將回調(diào)函數(shù)綁定到指令行為。這被指令調(diào)用指明。前綴表示該指令在其父元素上搜索控制 文檔翻譯至angularjs.org. 文檔解釋了您何時(shí)想在AngularJS應(yīng)用程序中創(chuàng)建自己的指令,以及如何實(shí)現(xiàn)它們。 | 建議搭配原文食用 | 什么是指令? 在...
摘要:新開一個(gè)坑,起名為,自己造一些小輪子。之前貌似在知乎上看到一個(gè)問題是說如何使用實(shí)現(xiàn)它原生的和方法,今天我來實(shí)現(xiàn)一番。但是,這樣等于說只給傳了一個(gè)數(shù)組參數(shù),并不能達(dá)到目的。同理來實(shí)現(xiàn)參考資料深入之和的模擬實(shí)現(xiàn) showImg(https://segmentfault.com/img/bVbbHCv?w=1123&h=629); 新開一個(gè)坑,起名為【build your xxx】,自己造一...
閱讀 1895·2021-11-15 11:46
閱讀 1091·2021-10-26 09:49
閱讀 1825·2021-10-14 09:42
閱讀 3384·2021-09-26 09:55
閱讀 838·2019-08-30 13:58
閱讀 1039·2019-08-29 16:40
閱讀 3474·2019-08-26 10:27
閱讀 611·2019-08-23 18:18