Javascript 如何在共享主机上部署简单的Angular2应用程序?

Javascript 如何在共享主机上部署简单的Angular2应用程序?,javascript,angularjs,angular,shared-hosting,Javascript,Angularjs,Angular,Shared Hosting,我想在我的共享主机上部署我的Angular2应用程序。我尝试通过ssh传输文件,但应用程序无法运行。我想有一些事情可以做,比如本地的ng服务 要遵循哪些步骤?我在互联网上找不到他们:/ 谢谢 编辑 我有一个非常简单的应用程序,有一些路由和组件。没有服务器端代码,因为我正在调用REST api以满足我的需要。您必须构建应用程序,请查看应用程序根目录中的package.json。您通常需要构建dev/prod或类似的东西。然后只需将dist文件夹的内容复制到服务器上,并确保scripsrc在索引中是

我想在我的共享主机上部署我的Angular2应用程序。我尝试通过ssh传输文件,但应用程序无法运行。我想有一些事情可以做,比如本地的ng服务

要遵循哪些步骤?我在互联网上找不到他们:/

谢谢

编辑
我有一个非常简单的应用程序,有一些路由和组件。没有服务器端代码,因为我正在调用REST api以满足我的需要。

您必须构建应用程序,请查看应用程序根目录中的package.json。您通常需要构建dev/prod或类似的东西。然后只需将dist文件夹的内容复制到服务器上,并确保scripsrc在索引中是正确的。文件。

当然,您必须在服务器上提供它。您必须采取以下几个步骤:

  • 将您的文件传输到服务器(认为这已经完成)
  • 通过SSH登录并在应用程序目录中执行
    npm安装
  • 更改你的
    app.js
    (或其他)以绑定到你的internet界面。默认设置是将其绑定到
    localhost
    ,这样您就无法从本地主机外部访问它
  • 您还需要打开服务器上的端口。这涉及到使用反向代理(如nginx)侦听标准端口(80)并将其重定向到应用程序正在侦听的端口。如果您希望应用程序直接在端口80上侦听,则需要在
    root
    user下运行,这是不推荐的。尝试使用iptables命令打开端口,如:
    iptables-a INPUT-p tcp--dport 9000-j ACCEPT
  • 在你的应用程序目录中执行你的
    ng服务
    (或其他)

本说明用于开发,不用于生产。

在本地开发机器上执行
ng build--prod
ng build--prod--aot

这将把你的应用程序构建到dist文件夹中。将dist文件夹的内容复制到共享主机的公共目录

根据您的主机,您可能需要配置web服务器(nginx、Apache、IIS等)来为您的文件提供服务。不要在共享主机上运行ng serve


除非你计划在通用模式下运行你的应用程序,在通用模式下它会在服务器端重新提交页面,否则不要将你的整个应用程序复制到你的共享主机上。不要在共享主机上安装npm。只需将构建的应用程序文件复制到dist文件夹中

你应该提供一些关于你的应用程序架构的信息,文件strucrure etc和heeeere,然后再投票。我很高兴知道为什么我的答案不正确。我确信投票人没有考虑同构。我对答案投了赞成票,但投票人对你的答案投了反对票,可能是因为你无法在共享主机上运行npm安装,大多数共享主机在其服务器上没有节点,您无法安装任何需要root权限的内容。这对我很有效。@Martin如果您想在通用模式下运行,您会做什么不同的事情?@cs\u,您仍然希望构建和部署,不同之处在于,您希望构建一组浏览器和服务器捆绑包。然后,您将需要一个小型nodejs Express服务器,它使用ngUniversal使用服务器包。虽然这超出了这个答案的范围,但是angular.iogreat的工作中有很好的记录,它对我很有用,谢谢