成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

《Build your own AngularJS》手記

zsy888 / 2806人閱讀

摘要:最近在看,打算跟著書中的代碼敲一遍,加深對的理解。在這里記錄過程中的問題與心得。根據(jù)排查內(nèi)存耗盡應(yīng)該是這個版本的問題,換成后問題消失。因此認(rèn)為這種寫法是有風(fēng)險的,必須用頂上那一行注釋表明我確實(shí)要全局都的才行。不得不感嘆的嚴(yán)謹(jǐn)。

最近在看 build your own angularjs ,打算跟著書中的代碼敲一遍,加深對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 命令行報 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)程耗盡
解決:為解決上個問題,我install了1.9.10版本。根據(jù)排查內(nèi)存耗盡應(yīng)該是這個版本的問題,換成1.9.11后問題消失。命令:npm install -g [email protected]。(吐槽:這貨到底有多少問題啊)

值得一提的是TDD的開發(fā)方式,貫穿全書始終。以前較少使用TDD,而這正是以Angular、React為代表的新一代前端技術(shù)極力倡導(dǎo)的開發(fā)方式。希望通過這本書能加深對TDD的認(rèn)識

Scopes Scopes and Digest
  

An 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會報錯。

查了下原因,如果把"use strict"寫到文件頭的話,會認(rèn)為整個文件都是嚴(yán)格模式,一眼看上去沒什么問題,但由于在上線時有可能存在文件合并的情況,被合并進(jìn)來的文件如果沒有照嚴(yán)格模式寫那麻煩就大了。
因此jshint認(rèn)為這種寫法是有風(fēng)險的,必須用頂上那一行注釋表明我確實(shí)要全局都use strict 的才行。

不得不感嘆jshint的嚴(yán)謹(jǐn)。

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/85555.html

相關(guān)文章

  • Build your own AngularJS》筆記分享

    摘要:初次寫文章,請多多包涵我最近正在根據(jù)這本書從頭開始實(shí)現(xiàn)了一遍的框架。筆記目錄鏈接個人認(rèn)為本書對于想了解框架源碼的讀者來說相當(dāng)有用,完全值得去購買這本書書本主頁。因?yàn)槭浅鯇W(xué)者,筆記里可能有一些錯誤,我也會繼續(xù)修改。 (初次寫文章,請多多包涵) 我最近正在根據(jù)《Build your own angularJS》這本書從頭開始實(shí)現(xiàn)了一遍AngularJS的框架。我把相關(guān)的源碼和我的個人學(xué)習(xí)筆...

    firim 評論0 收藏0
  • Sublime text 前端開發(fā)插件安裝和配置

    摘要:前端開發(fā)配置此文件目錄中文件主要是關(guān)于的插件配置,快捷鍵配置,主題和字體配置。插件列表所有插件都可以使用安裝,具體的安裝方法可以自行谷歌安裝,不在本文的介紹范圍之內(nèi)。這兩個插件主要是平時使用或者是這些預(yù)編譯語言有用,支持語法高亮。 前端開發(fā)sublimeconfig mac配置 此文件目錄中文件主要是關(guān)于sublime的插件配置,快捷鍵配置,主題和字體配置。 插件列表 所有插件都可以使...

    glumes 評論0 收藏0
  • AngularJs1.x解讀 $watch 和 $digest

    摘要:對象其實(shí)就是一個簡單的。和和就像一個硬幣的兩面。他們組合在一起就是臟檢查循環(huán)的核心對于數(shù)據(jù)變化的響應(yīng)。臟值檢測目的只有監(jiān)控的值發(fā)生改變的時候我們才執(zhí)行對應(yīng)的。思路存儲上一次的值,和這一次值的進(jìn)行比對。中默認(rèn)的為,對外暴露可修改。 Scope object Scope對象其實(shí)就是一個簡單的POJO(plain old JavaScript Object)。我們可以給它任意的添加屬性。 /...

    Rainie 評論0 收藏0
  • 創(chuàng)建自定義指令

    摘要:我們通常通過其區(qū)分大小寫的規(guī)范化名稱例如,來定義指令。在其目前的實(shí)現(xiàn)上,我們應(yīng)該需要去創(chuàng)建一些不同點(diǎn)控制器用來重用這個指令。如此,綁定是理想的將回調(diào)函數(shù)綁定到指令行為。這被指令調(diào)用指明。前綴表示該指令在其父元素上搜索控制 文檔翻譯至angularjs.org. 文檔解釋了您何時想在AngularJS應(yīng)用程序中創(chuàng)建自己的指令,以及如何實(shí)現(xiàn)它們。 | 建議搭配原文食用 | 什么是指令? 在...

    zzbo 評論0 收藏0
  • build your own xxx】實(shí)現(xiàn)你自己的call和apply

    摘要:新開一個坑,起名為,自己造一些小輪子。之前貌似在知乎上看到一個問題是說如何使用實(shí)現(xiàn)它原生的和方法,今天我來實(shí)現(xiàn)一番。但是,這樣等于說只給傳了一個數(shù)組參數(shù),并不能達(dá)到目的。同理來實(shí)現(xiàn)參考資料深入之和的模擬實(shí)現(xiàn) showImg(https://segmentfault.com/img/bVbbHCv?w=1123&h=629); 新開一個坑,起名為【build your xxx】,自己造一...

    qpal 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<