正如您已經意識到的那樣,ng build --base-href <base>
選項允許您創建應用程序的生產版本,以瞭解如何從網站的<base>
目錄中正常工作。這是謎題的一部分 - 配置Angular能夠從服務器的非根文件夾運行。
第二步是配置您的Angular CLI設置,將您的構建文件放在正確的位置。現在,您可以手動執行此操作 - 將ng-cli應用程序放在完全獨立的文件夾中,並在構建完成後,將Angular應用程序的/ dist文件夾中的工件複製到您的網站目錄結構中。這是做這件事的手工方式。在這種情況下,角度應用程序的/ dist文件夾中的項目基本上是從Web服務器的角度來看的靜態內容,可以這樣對待。
但是,另一種替代方法是查看您的angular-cli.json
並根據需要更改apps[0].outDir
配置選項。 outDir
選項指定在何處放置ng build
命令的輸出。默認情況下,它被設置爲/dist
,但它可以更改爲您需要的任何內容。
所以,例如,如果我有這樣的結構:
./public
About.html
Home.html
Contact.html
/app
app.html //Angular app BUILD OUTPUT goes here
/angular-app // Angular app source code
我可以有我的角度,應用程序的angular-cli.json
配置,使得outDir
指向../public/app
即在angular- cli.json
app: [ {
"root": "src",
"outDir": "../public/app",
......
} ]
啊,我想我明白了。我可以在'/ angular-app'目錄中開發角度應用程序本身。然後,當我想在更大的視野範圍內測試應用程序時,我可以將其構建到適當的目錄,並運行節點服務器來爲所有路線提供服務。謝謝您的幫助! –