繁体   English   中英

如何将变量从NodeJS导入JS?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM