如何将Angular 2应用程序部署为独立应用程序(使用dist文件夹)

如何将Angular 2应用程序部署为独立应用程序(使用dist文件夹),angular,deployment,routing,routes,Angular,Deployment,Routing,Routes,我已经完成了Angular 2应用程序的开发,需要部署它。我需要它独立工作。因此,我尝试将dist文件夹的内容移动到一个新的apache网站中,但由于某些原因,路由机制不起作用,例如,当我尝试转到/integrations路由时,我遇到了404错误。在开发过程中,在angular 2服务器上,/integrations起作用,angular 2路由机制起作用,并毫无问题地显示组件。我需要独立的应用程序也能够与不同的网址/路径工作。有什么建议吗?是的,你需要遵循 它解释了如何回退到index.ht

我已经完成了Angular 2应用程序的开发,需要部署它。我需要它独立工作。因此,我尝试将dist文件夹的内容移动到一个新的apache网站中,但由于某些原因,路由机制不起作用,例如,当我尝试转到/integrations路由时,我遇到了404错误。在开发过程中,在angular 2服务器上,/integrations起作用,angular 2路由机制起作用,并毫无问题地显示组件。我需要独立的应用程序也能够与不同的网址/路径工作。有什么建议吗?

是的,你需要遵循

它解释了如何回退到index.html,并为您提供了一个使用apache的示例,请遵循以下步骤:

步骤1
ng build--prod--env=prod

步骤2。(将dist复制到服务器) 然后创建dist文件夹,复制dist文件夹并将其部署到服务器的根目录中

步骤3。在根文件夹中创建
.htaccess
文件,并将其粘贴到
.htaccess

 <IfModule mod_rewrite.c>
  RewriteEngine On
  RewriteBase /
  RewriteRule ^index\.html$ - [L]
  RewriteCond %{REQUEST_FILENAME} !-f
  RewriteCond %{REQUEST_FILENAME} !-d
  RewriteRule . /index.html [L]
</IfModule>

重新启动发动机
重写基/
重写规则^index\.html$-[L]
重写cond%{REQUEST_FILENAME}-F
重写cond%{REQUEST_FILENAME}-D
重写规则/index.html[L]

我添加了.htaccess,但仍然不走运。我不知道如何将这个路由从angular转换为javascript…这是在传输过程中自动完成的。我可能是用错误的方法做的。你解决问题了吗?你能在这里发布你的.htaccess吗?嗨。谢谢实际上--env=prod解决了我的问题。这是我自己发现的。我会告诉你正确的答案,因为它是。是的,我知道你已经使用生产环境创建了dist文件夹。只是想知道你错过了.htacces文件。所以,请解释一下这些步骤,让每个人都能理解。我已经使用
ngbuild--aot
构建了这些文件。导航和一切正常。当我点击登录页面时,它把我带到了那里。问题是,当我刷新登录页面时,它给出了404NotFound错误。有什么想法吗?