我们正在使用带有Bower的Angular和我们的堆栈的Python API。我们有多个代码运行的环境 - 开发,登台,生产等。到目前为止,我们必须手动更改前端的连接字符串,然后我们将新代码推送到它以适应它所处的环境 - 但是显然,这不是正确的做事方式。比方说,我们为前端设置了以下主机:www.something.com
和www.test-something.com
,它们应分别连接到apisomething.com
和test-apisomething.com
来提取数据。
我的目标是能够将代码部署到任何环境,而无需更改任何值。通常,我会在服务器端使用环境变量来创建所有链接,但是由于Angular在浏览器中运行,因此无法访问这些变量。所以我不确定如何继续。
我的研究提出了使用Grunt here和here的教程,但由于我们没有使用Grunt,因此无法解决问题。
我的想法是编写一个Python脚本,在"constants.js"
文件所在的同一目录中手动生成app.js
(必须为每个环境运行一次)并将该文件包含在git.ignore
。该脚本将采用一个参数,基本上是一个单行:"var base_url = \"www.something.com\""
,其中base_url
的值将随传入脚本的参数而变化。这是我所得到的。
所以,问题如下:
base_url
的值?服务,模块等?那会怎么样?答案 0 :(得分:1)
您只需使用$ location服务获取有关正在运行的应用程序的URL的信息。