想開發Angular項目,但是沒有開發環境?使用Docker So Easy!

想開發Angular項目,但是沒有開發環境?使用Docker So Easy!

來自專欄猿論

不管是的開發還是學習Angular,環境是一個很大的問題,大家要在自己電腦上搭建一個Angular的開發測試環境還是非常麻煩的,請大家自行百度「搭建Angular開發環境」。OMG,要安裝一堆東西。

但是有了Docker,一切變得簡單至極,你的電腦只需要安裝了Docker就萬事大吉了。下面我們一起看一看。

測試環境

我們以MAC為例,請安裝好Docker

docker versionClient: Version: 18.03.1-ce API version: 1.37 Go version: go1.9.5 Git commit: 9ee9f40 Built: Thu Apr 26 07:13:02 2018 OS/Arch: darwin/amd64 Experimental: false Orchestrator: swarmServer: Engine: Version: 18.03.1-ce API version: 1.37 (minimum version 1.12) Go version: go1.9.5 Git commit: 9ee9f40 Built: Thu Apr 26 07:22:38 2018 OS/Arch: linux/amd64 Experimental: true

Angular項目的創建

我們這邊給大家準備了一個Docker image,名字叫 xiaopeng163/angular-docker Dockerfile也是非常簡單,大家可以參考 github.com/xiaopeng163/

我們這個image里安裝好了Angular CLI,所以如果我們要創建一個叫做 demo 的project,在本地目錄 /Users/penxiao/tmp/angular-docker 目錄里,可以運行如下命令。

$ docker run --rm -it -v /Users/penxiao/tmp/angular-docker:/app xiaopeng163/angular-docker ng new demo

因為我們這裡使用了 -v volume,會把container里通過 ng create demo 創建的project映射到我們本地 /Users/penxiao/tmp/angular-docker 目錄里。

產生的project在本地如下所示。

$ lsdemo$ cd demo$lsREADME.md angular.json e2e node_modules package-lock.json package.json src tsconfig.json tslint.json

然後我們就可以使用我們順手的IDE進行開發了。

Angular項目的運行

等我們開發到一定程度以後,可以非常方便的通過 ng serve 去預覽我們的項目, 注意本地Volume選擇demo project的目錄 /Users/penxiao/tmp/angular-docker/demo

$ docker run -d --rm --name=angular-demo -it -v /Users/penxiao/tmp/angular-docker/demo:/app -p 4200:4200 xiaopeng163/angular-docker ng serve --host=0.0.0.042cadd81f28e1705ce20edcdc42a765f5dcb1d5181c4222548a984cfd37e3a95$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES42cadd81f28e xiaopeng163/angular-docker "ng serve --host=0.0…" 4 minutes ago Up 5 minutes 0.0.0.0:4200->4200/tcp angular-demo

因為我們把4200埠映射到了本地,所以我們可以非常方便的預覽,打開瀏覽器 127.0.0.1:4200/ 可以預覽如下

其它

如果我們修改了 package-lock.json package.json 我們可以通過npm install去安裝,

$ docker run --rm -it -v /Users/penxiao/tmp/angular-docker/demo:/app xiaopeng163/angular-docker npm installnpm WARN optional SKIPPING OPTIONAL DEPENDENCY: fsevents@1.2.4 (node_modules/fsevents):npm WARN notsup SKIPPING OPTIONAL DEPENDENCY: Unsupported platform for fsevents@1.2.4: wanted {"os":"darwin","arch":"any"} (current: {"os":"linux","arch":"x64"})up to date in 20.626s

是不是非常方便!有了docker,大家就可以盡情的玩耍了!!

推薦課程:

Docker環境下的前後端分離項目部署與運維-慕課網實戰

系統學習Docker,踐行DevOps理念-慕課網實戰

作者:麥兜搞IT

鏈接:imooc.com/article/30241

來源:慕課網

本文原創發佈於慕課網 ,轉載請註明出處,謝謝合作


推薦閱讀:

【重磅】認證作者招募 | 打造個人品牌 so easy !

記一次tablayout的tabView偷偷自帶padding的問題

Vue.js、vue安裝步驟、單文件組件、模板指令

TensorFlow深度學習(一):環境搭建

實戰-動手開發第一個區塊鏈投票DAPP


推薦閱讀:

如何使用OpenDroneMap對航拍圖像快速建模
你所不了解的的Docker
數人云|20種終極工具,為你的Docker搭建安全防火牆
實踐 | 一個案例思考容器落地的山高路遠坑深

TAG:Hadoop | Docker | Angular |