1. 程式人生 > >angular2下的三種彈框(toaster sweetAlert modal) 及 特性模塊間的依賴關系

angular2下的三種彈框(toaster sweetAlert modal) 及 特性模塊間的依賴關系

idt pri show type tab eba 變量 center 目的

三種彈框:

說明:下表僅作技術選擇的參考,紅色部分是容易出錯的,或者難點。

toaster sweetAlert modal
package.json依賴 "angular2-toaster": "4.0.1" "sweetalert2": "6.6.8"

"ngx-bootstrap": "1.9.3"

Ts引入方式 import {ToasterService} from ‘angular2-toaster‘; import swal from ‘sweetalert2‘;

import {BsModalRef, BsModalService} from "ngx-bootstrap";

註入成員變量 private toasterService: ToasterService;

private modalService: BsModalService

使用範例 this.toasterService.pop({type: "success", body: "操作成功!"});

swal({
  text: ‘確定要刪除?‘,  type: ‘warning‘, 

  showCancelButton: true,

  confirmButtonText: ‘確定‘,
  cancelButtonText: ‘取消‘
}).then(() => {
  ...//確認操作
}, () => {

  ...//取消操作
});

let bsModalRef:BsModalRef=this.modalService.show(
MyComponent,{
ignoreBackdropClick: true,
‘class‘:‘big-modal‘
});

let view:MyComponent=bsModalRef.content;
//取到的view是當前以modal形式打開的Component實例!

接下來可以通過view操作其暴露的方法和變量了!

多重依賴的管理

前端一直沒有一個像maven這樣優秀的依賴管理工具,但npm升級到3後,一切都變了。

如果A模塊依賴了C,B模塊也依賴了C,升級前後的變化如下:

技術分享

變化的優勢很明顯,npm一直被詬病的node-moduls變輕了很多。


原來的問題是源於nodejs項目的一個機制:將src目錄作為項目的根目錄,而將node-modules目錄添加到項目的環境變量(代碼中直接訪問依賴的特性模塊)。問題來了,每一個特性模塊都是一個獨立的node項目,都有自己獨立的依賴和環境變量,相互之間是互不幹擾的,所以必然要在自己的node-modules中添加自己的所有依賴包,這就是依賴爆炸式增長的原因。


現在看一下項目的node-modules結構,特性模塊中的node-modules不見了,項目只有一個node-modules就是根項目!

(未完 待續)





angular2下的三種彈框(toaster sweetAlert modal) 及 特性模塊間的依賴關系