作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如何在 JS 文件中使用静态变量?
我正在使用带有 ejs 模板的 nodeJS。在 HTML 中,如果我使用 <%= colors %>
它就可以工作但是我想在客户端js中使用颜色的内容。
我认为它应该是这样的:
var color[] = <%= colors =>
很高兴知道我做错了什么。谢谢!
马吕斯
编辑:为了把事情弄清楚,我把问题写得很快,所以我似乎忘了解释一些事情。
colors 是 nodeJS express 服务器发送的数组。
var colors = ['blue', 'red', 'green'];
在 index.ejs 模板中,我可以通过以下方式调用“blue”:
<span>
<%= colors[0] %>
</span>
.现在我有一个单独的客户端 functions.js 文件。我想访问此文件中的“blue”。
最佳答案
您的第一个问题是 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) =>;
关于javascript - 如何将变量从 NodeJS 导入到 JS?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33670179/
我是一名优秀的程序员,十分优秀!