《Build your own AngularJS》手记

近来在看 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 (项目脚手架)

没什么手艺题目,主假如踩坑,纪录以下

  • P15. Include Lo-Dash And jQuery。Gruntfile设置中的testem.unit.options.serve_files项,node_modules/lodash/lodash.js在最新版本中应为 node_modules/lodash/index.js

  • 运转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下运转grunt testem:run:unit 内存被大批node与cmd历程耗尽
    处理:为处理上个题目,我install了1.9.10版本。依据排查内存耗尽应该是这个版本的题目,换成1.9.11后题目消逝。敕令:npm install -g phantomjs@1.9.11。(吐槽:这货到底有若干题目啊)

值得一提的是TDD的开发方式,贯串全书一直。之前较少运用TDD,而这正是以Angular、React为代表的新一代前端手艺尽力提倡的开发方式。愿望经由过程这本书能加深对TDD的熟悉

Scopes

Scopes and Digest

An important step in TDD is seeing the test fail first.

TDD要习气先看到test case失利……额,强迫症示意压力山大

js/* jshint globalstrict: true */
'use strict';

function Scope(){
}

这里的'use strict'不难明白,然则顶上那一行解释去掉的话jshint会报错。

查了下缘由,假如把'use strict'写到文件头的话,会以为全部文件都是严厉形式,一眼看上去没什么题目,但由于在上线时有能够存在文件兼并的状况,被兼并进来的文件假如没有照严厉形式写那贫苦就大了。
因而jshint以为这类写法是有风险的,必须用顶上那一行解释表明我确切要全局都use strict 的才行。

不能不叹息jshint的严谨。

    原文作者:kpaxqin
    原文地址: https://segmentfault.com/a/1190000002595271
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞