前言
在使用angular腳手架構建angular項目時薪丁,都會給我們生成一個名叫environments的文件夾掌唾。從字面意識理解像是環(huán)境變量的意思姓迅。
可以看見后綴不一樣
有卵用
他們分別是每個環(huán)境對應的配置块蚌,執(zhí)行不同的命令背传,就會調用不同的文件。
例如:
比如environment.prod.ts對應的就是prod環(huán)境氓皱,你有多少個環(huán)境這里就新建多少個文件路召。(當然沒有的就是默認的運行環(huán)境)
只有這些文件并起不了作用。關鍵在這里
到angular-cli.json文件找到environments這個屬性進行配置波材,比如
這才是起作用的地方
使用
奇怪它怎么知道是哪個文件呢股淡?
本地調試的時候
ng s -e=prod
簡單解釋下,
ng:angular腳手架提供的命令操作
s: serve 的簡寫廷区,運行程序
-e=prod: -env=prod的簡寫唯灵,大概意思就是啟用prod的運行環(huán)境配置,prod就是在上面json文件中配置的環(huán)境名隙轻。
發(fā)布的時候埠帕,當然用法也是一樣,不過通常我們都是把ng命令封裝在package.json文件中玖绿。如下:
簡化了
我們使用 npm run start就等于使用了ng serve --port 4001 --open這個命令敛瓷。
場景
在angular項目開發(fā)中,前后臺分離斑匪,后臺api地址生產環(huán)境呐籽,測試環(huán)境,開發(fā)環(huán)境的api地址可定都不會是同一個ip地址蚀瘸。這樣通過environments來控制的話狡蝶,就不擔心在測試,生產贮勃,開發(fā)環(huán)境來回切換時去改配置文件了贪惹。
演示一下
默認環(huán)境
默認環(huán)境
ng s
打開瀏覽器查看
和配置的一樣
其他環(huán)境
其他環(huán)境
ng s -e=dprod --hmr
見證奇跡