[英]How to deploy ng2 app after ng-build
我從來沒有理解ng build
命令之后的內容。 我的意思是,你如何在普通服務器上實際加載你構建的應用程序並訪問它? 到目前為止,我只發現了關於ng serve
和ng build
,並說在ng build
完成后你已經完成了。 但事實並非如此。
如果我嘗試構建然后導航到該文件夾,我會在控制台中收到很多關於未找到文件等的錯誤...更不用說有關不匹配路由的錯誤等等。
事實上,使用ng serve
構建之前的應用程序就像一個魅力,但我不能去客戶端說: “好吧,你必須使用ng服務”。
除此之外,我如何在不使用GitHub頁面和其他主機的情況下實際提供我構建的應用程序,而是使用我自己的服務器?
我發誓我在這個主題上搜索了很多,但我從來沒有找到一個“穩定”的解決方案。
感謝任何可能的提示。 我嚇壞了這件事。
由於html中新的<base href="/">
屬性,app正在相應的根文件夾中查找您的資源。
因此,嘗試刪除並運行以便它可以在運行時加載base href
。
您可以使用以下代碼使其正常工作
import {APP_BASE_HREF} from '@angular/common';
{provide: APP_BASE_HREF, useValue : '/' }
或使用JavaScript
document.write('<base href="' + document.location + '" />');
如果您使用Angular CLI:ng build導航到您的app文件夾/ dist
如果您想在PC上輕松運行它,只需下載USB Web服務器並將文件復制到根文件夾並運行服務器,您可以通過USB或客戶端PC將其移植到客戶端。
要在服務器上運行應用程序:從dist文件夾+所有資產(bootstrap.css或圖像文件夾或字體文件夾)復制所有內容
===========================================
如果您嘗試從本地PC運行該應用程序,請記住該應用程序正在根文件夾中查找您的資產(C:/,D:/)。
打開Index.html文件並編輯指向正確的路徑,您不需要在服務器或托管上執行此操作。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.