我在 Angular 7 中有一些组件,我不使用 'useHash: true' 进行路由。
我在实时服务器上部署了我的 Angular 应用程序,如果我使用路由(例如/panel(导航到某个组件,那么它就可以正常工作,但是如果我重新加载该页面,我会收到错误"无法获取/panel">
谁能帮忙?
您应该将服务器配置为回退到 index.html。 在此处查看角度文档,了解如何执行此操作。 例如,在Appcache服务器上,我正在使用这个.htaccess文件:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} -s [OR]
RewriteCond %{REQUEST_FILENAME} -l [OR]
RewriteCond %{REQUEST_FILENAME} -d
RewriteRule ^.*$ - [NC,L]
RewriteRule ^(.*) /index.html [NC,L]
在应用中运行此 CLI 命令
ng build --prod="true" --base-href="<Your-Base-Path/<your-project-folder-name>"
并且,这将使用您定义的路径index.html
设置基本路径,因此每次刷新页面时,它都会位于根文件夹的底部。
现在,您的index.html
文件具有此base-path
<base href="<Your-Base-Path/<your-project-folder-name>">