代码之家  ›  专栏  ›  技术社区  ›  user1675891

如何在Kudu控制台中运行“ng-serve”命令使Azure为我的网站服务

  •  0
  • user1675891  · 技术社区  · 7 年前

    我已经创建了一个网页,当我执行

    ng发球

    本地主机:4200 . 然后,我在Azure中创建了一个新的应用程序服务,并从BitBucket克隆页面访问了Kudu控制台。似乎我成功地安装了Angular CLI工具,因为我可以传输到 通过

    但是当我运行服务命令时,我被卡住了。

    无论什么Azure网站。网 ,我只得到一个错误,说明

    当然,这很奇怪,因为我在提供应用程序。如果我将URL后缀为 /src公司 指数html 但这带来了两个问题:(a)它不在生产文件中,而是在存储库版本中(也许公开分发代码是不明智的,而且Webpack的服务根本不会创建物理垃圾)和(b)它不会呈现角度应用程序(标签) 应用程序根 还是空的 当然是实际问题)。

    谷歌几个小时的搜索产生了很多信息,但所有这些都是针对CI和自动化的。不过,在这一点上,我需要手动完成这些事情,以获得完全的控制和理解。根据我对问题的诊断程度,以下问题之一应该是正确的。现在我有点困惑。如果我用一种愚蠢的方式提问,请耐心点。

    • 我应该如何公开页面?
    • 我端得合适吗?
    2 回复  |  直到 7 年前
        1
  •  2
  •   Joe Clay    7 年前

    你应该 从不 使用 ng serve 正在生产中!如果您传递 -prod 标志:

    ****************************************************************************************
    This is a simple server for use in testing or debugging Angular applications locally.
    It hasn't been reviewed for security issues.
    
    DON'T USE IT FOR PRODUCTION USE!
    ****************************************************************************************
    

    ng build -prod 创建应用程序的优化构建,然后使用服务器,如Apache或NGINX(可能是IIS,因为您在Azure上)来提供文件。

    How to deploy a simple static micro site on Microsoft Azure

        2
  •  1
  •   Kirk Larkin    7 年前

    您尝试为该网站提供两次服务:一次是使用 ng serve 还有一次是使用Azure应用程序服务(在后台使用一些IIS)。 http://localhost:4200 IIS正在 http://whatever.azurewebsites.net:80 .

    http://localhost:4200 ,这将无法在机器外部使用。要使其通过Azure应用程序服务工作,您需要进入应用程序设置(在Azure门户的应用程序服务下找到)并更新虚拟应用程序和目录部分,以包括dist文件夹,如图所示:

    正如你已经建议的,这是 不是推荐的方法