Angular開發實踐(一):開發環境搭建

引言

在工做中引入Angular框架將近一年了,在這一年中不斷的踩坑和填坑,固然也學習和積累了不少的知識,包括MVVM框架、先後端分離、前端工程化、SPA優化等等。所以想經過Angular開發實踐這系列的文章分享下本身的所學,達到交流和分享的目的。css

介紹以前,我假定你瞭解或者熟悉:html

環境準備

  • 全局安裝NodeJs(>6.9.x),包含npm(>3.x.x)shell

  • 全局安裝angular-clinpm

npm install -g @angular/cli
複製代碼

框架搭建

angular-start是我在GitHub上維護的一個起步項目,你能夠直接下載做爲基礎開發框架來使用。

你能夠經過如下幾步快速啓動並進行開發:

git clone https://github.com/laixiangran/angular-start.git
cd angular-start
npm install(等待依賴包安裝完成,再進行下一步)
npm start
複製代碼

爲了啓動方便,在package.jsonscripts配置了"start": "ng serve --hmr -o --proxy-config proxy.config.json",能夠看到這條命令分別配置了--hmr(啓動模塊熱更新)、-o(自動打開瀏覽器)、--proxy-config(代理配置)

控制檯信息:

控制檯信息

瀏覽器界面:

瀏覽器界面

項目啓動成功了,你能夠進行下面的開發了。可能你還想了解下該項目中的文件都是幹什麼用的,那麼咱們就來了解下。

項目文件概覽

src文件夾

應用代碼位於src文件夾中。全部的Angular組件、模板、樣式、圖片以及應用所需的任何東西都在這裏。這個文件夾以外的文件都是爲構建應用提供支持用的。

src目錄

文件 用途
app/app.component.{ts,html,css,spec.ts} 使用HTML模板、CSS樣式和單元測試定義AppComponent組件。 它是根組件,隨着應用的成長它會成爲一棵組件樹的根節點。
app/app.module.ts 定義AppModule,這個根模塊會告訴Angular如何組裝該應用
app/app.routes.ts 該模塊配置了應用的根路由
app/components/* 這個文件夾下放置應用級通用組件
app/models/* 這個文件夾下放置應用級數據模型
app/pages/* 這個文件夾下放置應用中的各個頁面,這裏面的目錄結構和app/一致
app/services/* 這個文件夾下放置應用級通用服務
assets/* 這個文件夾下你能夠放字體、圖片等任何靜態文件,在構建應用時,它們全都會拷貝到發佈包中
environments/* 這個文件夾中包括爲各個目標環境準備的文件,它們導出了一些應用中要用到的配置變量。這些文件會在構建應用時被替換。好比你可能在開發環境、測試環境及生產環境中使用不一樣的後端API地址
favicon.ico 顯示在書籤欄中的網站圖標
hmr.ts HMR的啓動器,將在main.ts中用來起動應用
index.html 網站的主頁面。大多數狀況下你都不用編輯它。在構建應用時,CLI會自動把全部js和css文件添加進去,因此你沒必要在這裏手動添加任何<script><link>標籤
main.ts 這是應用的主要入口點。使用JIT compiler或者AOT compiler編譯器編譯本應用,並啓動應用的根模塊AppModule(啓用HMR時,將使用hmr.ts定義的啓動器啓動),使其運行在瀏覽器中
polyfills.ts 不一樣的瀏覽器對Web標準的支持程度也不一樣。填充庫(polyfill)能幫咱們把這些不一樣點進行標準化。 你只要使用core-js 和 zone.js一般就夠了,不過你也能夠查看瀏覽器支持指南以瞭解更多信息
styles.scss 這裏是你的全局樣式。大多數狀況下,你會但願在組件中使用局部樣式,以利於維護,不過那些會影響你整個應用的樣式你仍是須要集中存放在這裏
test.ts 這是單元測試的主要入口點。它有一些你不熟悉的自定義配置,不過你並不須要編輯這裏的任何東西
tsconfig.{app、spec}.json TypeScript編譯器的配置文件。tsconfig.app.json是爲Angular應用準備的,而tsconfig.spec.json是爲單元測試準備的
typings.d.ts 引用的第三方插件TypeScript編譯器可能不識別,須要經過下載@types/xxx獲取該庫的類型定義文件,若是@types沒有那麼就須要在該文件中定義,如declare var $: any;

根目錄

src/文件夾是項目的根文件夾之一。其它文件是用來幫助咱們構建、測試、維護、文檔化和發佈應用的。它們放在根目錄下,和src/平級。

根目錄

文件 用途
e2e/* e2e/下是端到端(end-to-end)測試。它們不在src/下,是由於端到端測試實際上和應用是相互獨立的,它只適用於測試你的應用而已。這也就是爲何它會擁有本身的tsconfig.json
node_modules/* Node.js建立了這個文件夾,而且把package.json中列舉的全部第三方模塊都放在其中
.angular-cli.json Angular CLI的配置文件。在這個文件中,咱們能夠設置一系列默認值,還能夠配置項目編譯時要包含的那些文件。要了解更多,請參閱它的官方文檔
.editorconfig 用來確保參與你項目的每一個人都具備基本的編輯器配置。大多數的編輯器都支持.editorconfig文件,詳情參見 editorconfig.org
..gitignore Git的配置文件,用來確保某些自動生成的文件不會被提交到源碼控制系統中(GitHub)
.stylelintrc.json css代碼規範檢測的配置文件
CHANGELOG.md 項目的日誌文件
karma.conf.js Karma的單元測試配置,當運行ng test時會用到它
LICENSE 版權文件
package.json npm配置文件,其中列出了項目使用到的第三方依賴包。你還能夠在這裏添加本身的自定義腳本
protractor.conf.js Protractor的端到端測試配置文件,當運行ng e2e的時候會用到它
proxy.config.json ng serve代理配置文件,主要用在開發時先後端分離出現的跨域問題
README.md 項目的基礎說明文檔,包括項目基本信息、如何啓動、構建項目等等信息
tsconfig.json TypeScript編譯器的配置,你的IDE會藉助它來給你提供更好的幫助
tslint.json TSLintCodelyzer的配置信息,當運行ng lint時會用到。Lint功能能夠幫你保持代碼風格的統一

轉載請註明出處,謝謝!

相關文章
相關標籤/搜索