最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Angular 多模塊項目構建過程

 更新時間:2020年02月13日 11:40:20   作者:張喜碩  
這篇文章主要介紹了Angular 多模塊項目構建過程,本文大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下

引言

兩個月前,已存在錄題系統(tǒng),需要構建出題系統(tǒng),且兩套系統(tǒng)存在公用的實體、組件以及服務,如何在構建新系統(tǒng)的同時復用原系統(tǒng)的代碼成為了項目難點。

當時的解決方案是將兩個系統(tǒng)放在一個應用里,并為該應用配置兩套構建方案,當進行 ng serveng build 時,加載相應配置,動態(tài)構建出兩套系統(tǒng),從而解決了共享代碼的問題。

現(xiàn)在再去看 Angular ,理解又不同了。

新的思想與理解都源于后端的思考,在構建后端項目時,為了實現(xiàn)代碼復用,會構建多模塊。

就像下圖所示一樣,通用的代碼放在 CoreCommon 模塊中,各業(yè)務模塊依賴這兩個模塊,通過模塊間依賴實現(xiàn)代碼復用。

那么問題就來了,在 Angular 里,我們可不可以像后臺一樣去構建多模塊項目,以達到復用的目的呢?

實現(xiàn)

參考學習

之前一直使用 Angular Multi Module 作為關鍵字進行搜索,結果查詢出來的都是多模塊惰性加載的文章,參考意義不大。

直到最近才發(fā)現(xiàn)之前搜索的關鍵字錯誤,應該是 Angular Multi Library And Application 。

具體學習請參考以下兩篇文章:

ANGULAR WORKSPACES: MULTI-APPLICATION PROJECTS

創(chuàng)建庫 - ANGULAR官方文檔

初始化命令

創(chuàng)建一個 Angular 項目,其名為 angular-project ,不創(chuàng)建 Application ,不進行交互,跳過依賴的安裝。

ng new angular-project
 --createApplication=false 
--interactive=false 
--skipInstall=true

生成庫 common ,生成應用 sso ,跳過依賴的安裝。

ng g library common
 --skipInstall=true
ng g application sso 
--style=scss 
--routing=true
 --skipInstall=true

安裝依賴:

npm install 
--registry=https://registry.npm.taobao.org

項目結構

最終的項目結構長這樣,所有模塊位于 projects 目錄下。

Angular Library 的結構如下,就像平常用的一樣,也有 ModuleModule 中包含組件、服務等等。

同時我們開始反思之前用過的 ShareModule ,其實我們應該將其做成一個 Angular Library ,并將其發(fā)布到 npm 倉庫,這樣在多個項目之間快速移植公共模塊也更高效快捷。

但是在開發(fā)過程中,共享模塊可能有所改動,頻繁發(fā)布就有些麻煩,如何直接引用本地的模塊呢?

構建 common 庫:

ng build common

如果該庫頻繁改動的話,可以添加監(jiān)聽參數(shù),文件修改后自動構建:

ng build common --watch

命令執(zhí)行后會在 dist 目錄生成構建成功的 common 庫。

使用起來就像我們使用的其他 Angular 庫一樣,直接 import , WebStorm 會自動提示。

import 
{ 
CommonModule
 } 
from 'common';

測試

在業(yè)務模塊中引入 CommonModule

import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';

import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { CommonModule } from 'common';

@NgModule({
 declarations: [
  AppComponent
 ],
 imports: [
  BrowserModule,
  AppRoutingModule,
  CommonModule
 ],
 providers: [],
 bootstrap: [AppComponent]
})
export class AppModule { }

AppComponent 組件中使用 CommonModule 中的 CommonComponent 。

<h1>App Component HTML</h1> 
<lib-common></lib-common>

注:庫組件生成的默認前綴是 lib 。

進入業(yè)務組件進行 ng serve ,成功。

總結

以上所述是小編給大家介紹的Angular 多模塊項目構建過程,希望對大家有所幫助!

相關文章

  • Angular.JS中select下拉框設置value的方法

    Angular.JS中select下拉框設置value的方法

    select 是 AngularJS 預設的一組directive。下面這篇文章主要給大家介紹了關于Angular.JS中select下拉框設置value的方法,文中介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-06-06
  • 在 Angular 中使用Chart.js 和 ng2-charts的示例代碼

    在 Angular 中使用Chart.js 和 ng2-charts的示例代碼

    本篇文章主要介紹了在 Angular 中使用Chart.js 和 ng2-charts的示例代碼,具有一定的參考價值,有興趣的可以了解一下
    2017-08-08
  • AngularJS 霸道的過濾器小結

    AngularJS 霸道的過濾器小結

    本篇文章主要介紹了AngularJS 霸道的過濾器小結,在實際操作中,我們需要對統(tǒng)一數(shù)據(jù)源進行多次轉換,本文詳細討論有關過濾器的用法 。
    2017-04-04
  • Angular2中如何使用ngx-translate進行國際化

    Angular2中如何使用ngx-translate進行國際化

    本篇文章主要介紹了Angular2中使用ngx-translate進行國際化,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Angular7實現(xiàn)拖放Drag?Drop示例詳解

    Angular7實現(xiàn)拖放Drag?Drop示例詳解

    這篇文章主要介紹了Angular7實現(xiàn)拖放Drag?Drop示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-12-12
  • Angularjs單選改為多選的開發(fā)過程及問題解析

    Angularjs單選改為多選的開發(fā)過程及問題解析

    在項目中遇到這樣的需求想把下拉框的單選改為多選,怎么實現(xiàn)呢?下面小編通過本文給大家分享angularjs單選改為多選的開發(fā)過程及問題解析,需要的朋友參考下
    2017-02-02
  • AngularJS實現(xiàn)注冊表單驗證功能

    AngularJS實現(xiàn)注冊表單驗證功能

    這篇文章主要為大家詳細介紹了AngularJS實現(xiàn)注冊表單驗證功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • 使用Angular內(nèi)置模塊進行HTTP請求

    使用Angular內(nèi)置模塊進行HTTP請求

    這篇文章主要介紹了使用Angular內(nèi)置模塊進行HTTP請求方法步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • 深入淺析angular和vue還有jquery的區(qū)別

    深入淺析angular和vue還有jquery的區(qū)別

    vue是一個漸進式的框架, 是一個輕量級的框架而angular是一個mvc框架, 各有千秋,下面小編通過本文給大家介紹angular和vue還有jquery的區(qū)別,感興趣的朋友一起看看吧
    2018-08-08
  • AngularJS 的$timeout服務示例代碼

    AngularJS 的$timeout服務示例代碼

    這篇文章主要介紹了AngularJS 的$timeout服務示例代碼,需要的朋友可以參考下
    2017-09-09

最新評論

河南省| 芜湖市| 广东省| 阜城县| 谢通门县| 泰安市| 鲜城| 中西区| 阳江市| 永康市| 丽江市| 苏尼特左旗| 丰宁| 武陟县| 米脂县| 桂东县| 开化县| 固安县| 宁明县| 铜川市| 鹤山市| 常熟市| 达日县| 荔波县| 侯马市| 成武县| 顺义区| 鄂托克前旗| 昆明市| 长春市| 建始县| 南川市| 留坝县| 武夷山市| 云霄县| 广德县| 安陆市| 宝丰县| 临江市| 图片| 台中市|