我有一个使用angular2构建的web应用程序,运行i命令ng build
后,在我的文件夹结构中创建了dist文件夹,现在我想在服务器上发布它。
所以我只需复制并粘贴dist
文件夹并运行index.html
但它在开发者控制台中显示错误
Cannot match any routes. URL Segment: 'parentFolder/childFolder/dist'
很可能错误在我的基本网址中。
PS:我已将基础href设为<base href="./">
任何想法?
答案 0 :(得分:0)
您需要复制服务器上dist文件夹的内容,而不是完全复制dist文件夹,并设置基本href <base href="./">
。
dist文件夹将包含index.html
以及assets
等所有依赖项。
答案 1 :(得分:0)
HI可以尝试 ng build --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>
答案 2 :(得分:-1)
用这个脚本替换基本标签
<script>
document.write('<base href="' +String(document.location).replace('index.html','') + '">')
</script>