原创 angular/cli eject項目之後,測試無法生成coverage 報告問題

一個angular項目,被我通過eject之後需要補充單元測試。執行karma start ./karma.conf.js --single-run --coverage 之後,生成的coverage報告的icov.info爲空。解決辦法

原创 Angular路由與項目結構的關係

1、項目結構決定路由配置 Angular項目如何定義路由?我的一個做法是先確定項目的特性目錄,即分清楚各個模塊及其子模塊,每個模塊中的父子組件關係。理清模塊(module)、模版(template)、組件(component)。模版提供插

原创 Spy的應用--Ionic單元測試如何解決UI組件依賴注入No provider for AlertController、LoadingController等問題

最近在寫前端單元測試中遇到了一個多層依賴的問題。 由於項目中使用了Ionic中的UI框架,在一些服務(service)文件中需要使用到一些彈框、菊花加載條、對話框等組件,所以會在service文件中依賴注入AlertController

原创 ng-zorro源碼解讀--屬性裝飾器

屬性裝飾器 屬性裝飾器表達式會在運行時當做函數被調用,傳入的參數有兩個: 1、對於靜態成員來說是類的構造函數,對於實例是類的原型對象 2、屬性名稱 該方法應該返回一個函數,函數有兩個上述的參數,並且在返回的函數中添加修改邏輯,如 @Pr

原创 JS面向對象程序設計--創建對象的常見方法

方式一:工廠模式 function createPerson(name, age, job){ var person = new Object(); person.name = name; person.age

原创 JS面向對象程序設計--原型

一、原型對象 JS中,函數都有原型,名稱叫prototype。在面向對象中,構造函數也不例外。 prototype的類型是object,也是對象,所以原型也叫原型對象。 function Person(){ }; console.log

原创 面向對象程序設計--對象屬性

1、數據屬性與訪問器屬性、定義多個屬性 var object = new Object(); Object.defineProperty({ object, "key", { configurab

原创 前端裝飾器

1、javascript中的裝飾器 裝飾器是對類、方法、屬性的修飾,增加額外的行爲。裝飾器不侵入,所以對原先的內容不會破壞。裝飾器可以理解成一種解決問題的通用思路,裝飾器模式遇到程序之後誕生了多種多樣的表現形式。javascript也引入

原创 ionic3 karma測試環境配置問題

之前記錄瞭如何在ionic項目中配置單元測試環境,參考https://blog.csdn.net/lwqxmu/article/details/87622251。 同樣參考之前記錄的文章配置一個老項目報錯。參考項目的typescript版

原创 Git之修復生產bug

master分支版本一般爲生產上的版本,生產出現問題,該如何操作修復bug? 1、確定主分支上哪個提交之前是生產上的版本,找到生產上版本的最後一次提交commit hash碼 2、新建bugfix分支,並切換到bugfix分支 Git c

原创 CSS盒子模型筆記

CSS盒模型筆記,主要包括了盒模型的標準模式和IE模式的區別,通過box-sizing屬性設置寬高的計算方式,盒模型中的邊距重疊問題,幾種通過js獲取寬高的方法,BFC相關概念以及BFC的幾種使用場景。 1、IE模式和標準模式 先敬上一張

原创 CSS中的BFC

這篇筆記記錄了BFC的概念,特點,創建BFC的方法,應用等。 1、BFC的概念 Block Formatting Context,塊級格式化上下文。可以理解成一個獨立的容器,與外界互不相干,互不打擾。 2、BFC的特點 (1)、相鄰塊級,

原创 Ionic項目單元測試

這篇文章記錄了使用github上的一個含有單元測試配置的Ionic項目改造自己的項目,使自己的項目也能跑單元測試。 Ionic版本3.x,參考的github項目地址:https://github.com/ionic-team/ionic-

原创 6.3一圖讀懂JavaScript原型鏈--JavaScript高級程序設計筆記

實例instance有__pro__指針指向類的原型SubType.prototype; 實例instance有constructor指針指向SuperType,實際上就是SuperType實例constructor的指向; SubTy

原创 總結:前端泛型在工作中的應用--TypeScript

1、應用場景 前端需要對一個數據列表進行模型化(data-model),假設這個數據模型的類型是A,我希望將後端返回的json數組轉化爲類型A的列表即Array<A>(A[]),數據模型多種多樣,其他頁面的列表需要轉化成B[],C[]等等