2016-06-01 66 views
10

(我在地球Angular2新(從死亡線上星球
的Flex /的Actionscript移民,所以請原諒這個幼稚的問題)
angular-cli「ng build」不會生成工作項目?

有我在想犯了一個致命錯誤運行「NG構建」後命令在我的項目從Angular CLi,我最終將在目錄「dist」 - 我可以運行在瀏覽器中,運行在服務器上運行項目?

我結束了一個文件夾正確命名的東西等。有沒有我在這裏失蹤的一個步驟?

enter image description here

+1

你不是誤會。您應該能夠將'dist'文件夾的內容轉儲到您選擇的Web服務器上並擁有一個工作站點。 –

+0

如果你想啓動開發服務器以在本地運行該站點,你應該使用'ng serve'而不是'ng build'。 –

+0

我還沒有看過'index.html'中的所有內容,但我猜測它不會從文件系統中正確加載,所以是的,您需要生產應用程序的服務器。 –

回答

35

我新的角度,只是碰到了同樣的問題。您可以打開並運行直接從文件系統瀏覽器中的index.html文件,但你必須從編輯index.html中基href屬性的路徑:

<base href="/"> 

到:

<base href="./"> 
+1

在部署到真實服務器時,我們是否必須保留或刪除此應用程序?可能應該注意到角度2開發團隊 – realtebo

+0

可能是因爲這個「bug」只存在於Linux系統上?只是試圖排除故障。 – Blauhirn

+0

目前最新的macOSsierra系統。這對我來說固定在localhost:4200和現場製作服務器(Apache)。這個答案結束了我很長的搜索。謝謝!!!另外@realtebo我完全同意這應該被帶到angular-cli開發團隊! – totallytotallyamazing

0

您需要在命令行運行以下命令:

# This will create a production version in "dist" folder 
ng build -prod 

# This will create a production version in a custom folder 
ng build -prod --output-path=custom 
4

我以爲我會交叉發佈我的答案從類似的問題。 Original Post.
我不認爲OP是重複的,所以在這裏;


可以實現具有以下CMD角CLI命令所期望的結果:

ng build --base-href /myUrl/

ng build --bh /myUrl/ng build --prod --bh /myUrl/

這改變了<base href="/"><base href="/myUrl/">內置版本只這對我們在開發和生產之間的環境變化是完美的。最好的部分是沒有代碼庫需要改變使用這種方法。總而言之,將index.html的基準href保留爲:<base href="/">,然後在角度cli中運行ng build --bh ./以使其成爲相對路徑,或者用您需要的任何替代./來代替。

This是官方的angular-cli參考用法的文檔。