在Firebase托管中部署Angular 6 Multiples应用程序

时间:2018-09-19 13:23:01

标签: angular firebase firebase-hosting multiple-projects

我有一个包含多个项目的angular 6应用程序,我将重写规则配置为以下内容:

"rewrites": [
  {
    "source": "/ticket/**",
    "destination": "/ticket-app/index.html"
  },
  {
    "source": "/client/**",
    "destination": "/client-app/index.html"
  },
  {
    "source": "/admin/**",
    "destination": "/admin-app/index.html"
  }
],

应用程序的部署没有错误,但是当转到url时,应用程序无法正常运行,.js不会为浏览器加载。当您访问.js的网址时,只会得到.html页面。我可以在开发者控制台中看到以下错误:

Chrome console Chrome console

所有对.js文件和.css文件的获取请求总是返回index.html页面,我尝试使用其他这样的重写格式:

"rewrites": [
  {
    "source": "/ticket/**",
    "destination": "/ticket-app/**"
  },
  {
    "source": "/client/**",
    "destination": "/client-app/"
  },
  {
    "source": "/admin/**",
    "destination": "/admin-app/*"
  }
],

但是没有工作。我使用以下命令构建应用程序:

ng build ticket-app --prod --base-href '/ticket/'

谢谢

1 个答案:

答案 0 :(得分:0)

您还需要添加deployUrl。有2个选项

1)构建应用程序时添加--deploy-url参数

ng build ticket-app --prod --base-href '/ticket/' 

2)在angular.json中为每个应用程序添加配置

"build": {
          "options": {
            ...
            "baseHref": "/ticket/",
            "deployUrl": "/ticket/"
          },
 ...
}
相关问题