2017-08-30 65 views
0

我有一個使用angular2構建的web應用程序,在運行i命令ng build後,dist文件夾被創建在我的文件夾結構中,現在我想在服務器上發佈它。在服務器上部署angular2的構建

所以我簡單地複製和粘貼有dist文件夾,運行index.html

卻是露出在開發者控制檯錯誤

Cannot match any routes. URL Segment: 'parentFolder/childFolder/dist' 

最有可能的錯誤是我的基本URL。

PS:我已經設置基本href爲<base href="./">

什麼想法?

+0

你發佈哪個服務器apache?或者tomcat? – Robert

+0

apche服務器我正在使用 –

+0

你可以參考我的答案,下面的配置 – Robert

回答

0

您需要複製服務器上dist文件夾的內容,而不是dist文件夾,並設置基準href <base href="./">

dist文件夾將有index.html加上所有的依賴就像assets

+0

但我想建立''是默認情況下,反正無法改變後工作。是的dist文件夾已經有一切 –

+0

@PardeepJain你會默認我剛剛提到它,你在哪裏部署它? –

+0

apche服務器我正在使用 –

-1

這個腳本

<script> 
    document.write('<base href="' +String(document.location).replace('index.html','') + '">') 
</script> 
+0

再次不起作用 –

+0

你正在得到什麼錯誤? –

+0

得到相同的錯誤 –

0

HI取代基標籤可以可以嘗試納克建立--dev,然後做低於apache配置

<VirtualHost *:80> 
    ServerName test.io 
    ServerAlias test.io 

    DocumentRoot your_project_path/angular2/dist 
    <Directory your_project_path/angular2/dist> 
      Require all granted 

      RewriteEngine on 
      RewriteCond %{REQUEST_FILENAME} -s [OR] 
      RewriteCond %{REQUEST_FILENAME} -l [OR] 
      RewriteCond %{REQUEST_FILENAME} -d 
      RewriteRule ^.*$ - [NC,L] 

      RewriteRule ^(.*) /index.html [NC,L] 
    </Directory> 
</VirtualHost>