[英]Inject string into Javascript file that executes on the client from server side environment variable in Node.JS app?
[英]How to inject server variable to a client side js/html file
如何通过属性文件将服务器上设置的Javascript变量注入到Angular js / JavaScript应用中?
在/ src / main / webapp文件夹下有一个Java Jersey应用程序,该文件具有客户端文件(js,HTML,CSS等),在将其提供给客户端之前,我想设置一个javascript变量。 例如,请考虑以下因素:
<script type="text/javascript">
var serverHost = "<%serverHost%>";
</script>
如何将“ <%serverHost%>”字符串的值替换为将在运行时评估的所选值? 最好通过属性。
这样做的目的是客户端具有Rest调用,并且URL不能是相对的,并且必须是完整的,因为将通过其他/中间人服务器访问该应用程序,因此最终其余的调用需要到达原始主机服务器。 通过属性文件需要该值,以便应用程序/相同的构建可以在不同的环境下工作。
将不胜感激任何想法。
谢谢
您尝试解决的问题需要服务器端渲染。 例如,以您的情况为例,您可以从服务器端的属性文件中检索主机URL,使用控制器将其传递给视图,然后在视图中使用JSP标记生成HTML,该HTML的serverHost变量是动态变化的。组
然而....
当您使用AngularJS时,这种类型的渲染显然违反了Angular的哲学。
您可以在angular.module('myApp').constant('SERVER_URL', 'http://localhost:8000/');
创建一个常量angular.module('myApp').constant('SERVER_URL', 'http://localhost:8000/');
您可以在构建过程中设置此常数的值。
要么
您可以创建一个简单的API,从属性文件中检索主机url值(最好是JSON格式),然后可以简单地调用该API来设置此常数值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.