角度常数最佳实践

时间:2015-05-11 04:50:46

标签: angularjs git github

我有一个角度常量,它定义了webservice端点

angular.module('myModule').constant('mywebservice_url', 'http://192.168.1.100')

问题在于,对于开发我有不同的终点,而分期和生产则不同。每次我尝试登录git时我都必须手动重置此文件。

  1. 有没有办法git永远忽略此文件,但在clonecheckout时检出文件?
  2. 有什么方法可以从环境变量等动态制作角度拾取文件。
  3. 注意:我不想依赖服务器来执行此操作,即我不想使用apach SSI或任何这些技术,因为它只能使用一组服务器。

2 个答案:

答案 0 :(得分:4)

  1. 通过后端处理延迟注入。我通常只在html页面上创建一个名为pageSettings的全局对象,这样的值从后端注入,即环境变量等,然后将该全局pageSettings对象传递给该角{{1} }或constant

  2. 构建系统注入。如果你没有后端,即纯SPA ...也许你可以把它放在你的构建系统中,即创建多个任务来构建 gulp grunt中的不同环境并在构建过程中替换该值。

答案 1 :(得分:0)

在e.a.你的app init代码:

var x = location.hostname;

然后定义2个不同的常量。 一个基于您的开发环境的域名,一个基于您的生产。