[英]How do I import variables from NodeJS to JS?
如何在JS文件中使用静态变量?
我正在使用带有ejs模板的nodeJS。 在HTML中,如果我使用<%= colors %>
但我想在客户端js中使用color的内容,则可以使用。
我认为它应该看起来像:
var color[] = <%= colors =>
知道我在做什么错会很高兴。 谢谢!
马吕斯
编辑:为了解决问题,我已经快速写了这个问题,所以似乎我忘记了解释一些事情。
colors是由nodeJS express服务器发送的数组。
var colors = ['blue', 'red', 'green'];
在index.ejs模板中,我可以通过以下方式调用“蓝色”:
<span>
<%= colors[0] %>
</span>
。 现在我有一个单独的客户端functions.js文件。 我想访问此文件中的“蓝色”。
您的第一个问题是var color[] =
无效的JavaScript。
您似乎将其与PHP混合使用。 您正在寻找的语法可能是:
var color = [];
color.push(someValue);
我们无法确定<%= colors =>
的服务器端代码将输出什么,但我敢打赌,它类似于blue
。
var color = [];
color.push(<?= colors =>);
因此会给你:
var color = [];
color.push(blue);
…很好,只要您已经有一个名为blue
的变量即可。 您可能在那里需要一个字符串文字,因此您需要将文本编码为JavaScript文字。
这与JSON大致相同,因此:
var color = [];
color.push(<?= JSON.stringify(colors) =>);
……可能会胜任。
如果colors
不是blue
而是实际上是一个数组,那么您可能只想一次性将整个内容转储到变量中:
var color = <?= JSON.stringify(colors) =>;
好的,我找到了解决方法。
我现在在我的index.ejs模板中有这个:
<script>
var colors = [<%= colors %>];
</script>
然后在下一行中调用我的functions.js(客户端)。 现在我可以使用:
$("span").text(colors[0]);
。 如果有更好的解决方案(jQuery代码与我使用的代码不完全相同),请发表评论!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.