【发布时间】:2018-12-15 12:21:08
【问题描述】:
我正在尝试将我的第一个 Angular 应用程序上传到生产环境,我已经执行了命令:
ng build --prod --build-optimizer
接下来我复制了server文件夹根目录下dist文件夹的内容。
我正确地看到了应用程序,唯一的问题是当我在浏览器中重新加载页面时,它给了我以下错误:
Not Found
The requested document was not found on this server.
在 index.html 文件中,我以这种方式拥有基本标记:
<base href = "/">
这是我的路线文件:
const routes: Routes = [
{ path: '', redirectTo: '/home', pathMatch: 'full' },
{ path: 'home', component: HomeComponent },
{ path: 'writer', component: WriterComponent },
{ path: 'music', component: MusicComponent },
{ path: '404', component: NotFoundComponent},
{ path: '**', redirectTo: '/404'}
];
可能是什么问题?
【问题讨论】:
-
您还需要稍微配置一下服务器angular.io/guide/deployment#server-configuration
-
首先,您不需要
--build-optimizer参数,它现在默认为true。其次,您的应用程序是一个 SPA(单页应用程序),它负责路由,而不是常规网站中的服务器。所以你需要将每个 url 重定向到 index.html 以便 Angular 可以处理它。
标签: angular deployment