当前位置: 首页 > 面试题库 >

带有Angular 2环境的Heroku管道

袁秦迟
2023-03-14
问题内容

我已经使用Angular 2 CLI构建了Angular
2项目,并能够使用本教程将应用程序部署到Heroku 。

现在,我想为应用程序的不同环境(开发,登台,生产等)创建管道。

在我的package.json"postinstall": "ng build -prod",它将创建我的代码的生产版本,我的应用程序将在此版本上运行。有没有一种方法可以-prod根据CONFIG_VARS我在Heroku设置中的设置进行更改?例如,它将"postinstall": "ng build -dev"针对开发环境或"postinstall": "ng build -staging"登台环境。还是我需要以其他方式设置项目?


问题答案:

简短的答案是:不,您需要做一些不同的事情。

说明:npm postinstall脚本在构建Heroku插件时,在git
push到管道中的第一个Heroku应用程序时运行。随后,当您通过Heroku管道“促进”发布(例如,从“开发”到“登台”再到“生产”)时,预构建的Heroku弹头将“按原样”升级,而不进行重建。

因此,假设您在“开发”应用程序中设置了一个配置变量,该变量会将传递给“ ng build”的参数设置为“ dev”。这意味着当您git
push到您的“开发”应用程序时,将使用“ dev”选项构建该插件。这对于“开发”应用程序来说很好。但是,当您随后升级到“暂存”和“生产”时,您将推广使用“
dev”选项构建的预构建块,这不是您想要的。

因此,要获得所需的功能,您将需要考虑另一种方法。

一种方法是在“ npm prestart”阶段运行“ ng
build”脚本。这应该可行,并且使您能够使用Heroku配置变量来修改Angular2应用程序,具体取决于部署它们的Heroku管道阶段。但是,我通常不推荐这种方法。这将导致您的“
ng build”在每次“ npm
start”运行时都运行,这在Heroku上经常发生(即,至少每24小时左右运行一次,再加上无论什么原因每次您的Heroku测功机重新启动)。这将使您的应用每次经历Dynos重新启动时比需要的停机时间更长。通常,这不是一个好主意。

相反,更好的选择可能是让Angular2应用在初始化时查询服务器,并让服务器根据常规的Heroku配置变量返回Angular2应用所需的任何管道阶段特定值。



 类似资料:
  • 本文向大家介绍Angular2 环境配置详细介绍,包括了Angular2 环境配置详细介绍的使用技巧和注意事项,需要的朋友参考一下 看到angular发布正式版,心动不已准备测试下。 看着官网教程,使用了cli创建项目,在命令行中键入: 安装cli npm install -g angular-cli 如果安装过以前的版本,请执行以下命令,进行更新: npm uninstall -g angula

  • 本文向大家介绍详解.Net Core + Angular2 环境搭建,包括了详解.Net Core + Angular2 环境搭建的使用技巧和注意事项,需要的朋友参考一下 本文介绍了.Net Core + Angular2 环境搭建,具体如下: 环境搭建: 1)node.js版本>5.0,NPM版本>3.0,TypeScript版本>2.0(全装最新版就好了) 2)安装NTVS 1.2(node

  • 我有一个小团队(4名开发人员),我们创建了一个网站,目前有500名用户。 我们的开发周期如下: 我们在本地主机上进行更改(安装插件或自定义代码) 我们将其推向开发环境。我们可以做压力测试,我们有几个测试用户等等 我们对其进行评估 我们把它推向生产 部署新代码就像git pull一样简单,但真正的问题是数据库。 几乎所有的插件都需要我点击管理面板中的某些东西。更重要的是:其中一些在我安装时创建新表或

  • 在Ubuntu中,我设置了jdk环境(JAVA_HOME、JRE_HOME),JAVA版本可以使用。但我可以启动tomcat。一些信息: JAVA_HOME和JRE_HOME环境变量都没有定义 运行这个程序至少需要这些环境变量中的一个 环境集/等/配置文件 日志

  • 这是我的next.config.js文件:

  • 我创建了一个rails 4.1.4应用程序,试图在heroku上运行,但我得到以下错误- 缺少环境的