如何从Javascript文件中的Grails外化属性文件中读取属性

时间:2016-01-17 11:17:06

标签: javascript angularjs grails grails-config

我在Config.groovy文件中添加了外部化属性文件。如:

grails.config.locations << "file:app-test-config.properties"

这就是我的外化属性file app-test-config.properties的样子:

SERVER_IP_ADDRESS = 123.456.789.0
SERVER_PORT= 1234

我正在使用AngularJs框架,我在assets目录中有一个javascript文件。现在,我想访问该javascript文件中的服务器IP和端口。

这怎么可能?有没有办法在javascript文件中使用HoldergrailsApplication来读取外部化属性文件中的属性?

1 个答案:

答案 0 :(得分:0)

您可以按如下方式创建控制器操作:

class JavaScriptController {

  def grailsApplication
  def config() {
    String config = "${grailsApplication.config.flatten() as JSON}"
    String content = "config= ${config}"   
    render contentType: 'text/javascript', text: content
  }

}

没有测试过上面的代码,但想法是推送一个javascript文件,其中包含所有配置为javascript对象。您可以将缓存/ cloudfront应用于此响应,以便您的服务器不会收到很多请求。