我在哪里把配置放在angularjs应用程序?

时间:2014-11-13 17:14:19

标签: angularjs git configuration hardcoded

在我的角应用程序中,我有一个URL用于检索某些数据,一个启用CORS的服务器。

现在,到目前为止,我已将其硬编码在我的javascript文件中:

server_url = "http://localhost:7888/api.php/json?id=2"

现在,在测试和制作时,这些网址当然无效......每次我git pull它都会覆盖我的自定义。

我会在角色应用程序中优雅地将这样的配置放在哪里?

2 个答案:

答案 0 :(得分:0)

将其声明为常量。假设您有一个名为App的应用:

angular.module('App', []).constant("urls", {"server_url":"http://localhost:7888/api.php/json?id=2"});

一旦声明为常量,您就可以将其作为依赖项注入,就像服务一样。

答案 1 :(得分:0)

好吧,基本上我在这里采用一种mean.js方法,它很容易实现,对你或其他任何人都有用。

你必须从中间件写入角度的主HTML文件(例如:index.html),在你的情况下,你的端点的URL必须根据你的环境改变,只是为了保持简单让我们说我们有dev(localhost)和生产(mydomain.com)

在索引html中做一个简单的写:

 <script type="text/javascript">
        <?php 
         if(strpos( $_SERVER['HTTP_HOST'], 'mydomain.com') !== false){
             print "var endpoint = '"+ $server_url+ "';" 
         } else{
            print "var endpoint = '"+ $local_url+ "';" 
         }

         ?>
    </script>

你可以通过使用窗口对象将它放入主index.html中,因此你可以将它包装成常量或service

这是常数的例子:

angular.module('app').run(function () {

}).value('endpoint', window.endpoint);
  

我不熟悉PHP,但我希望你能得到我的观点