我使用node.js
,express.js
和pug
/ jade
。
在我的服务器中,我使用变量pageId
填充视图。
我在pug
视图中使用此变量
script.
document.addEventListener('DOMContentLoaded', function () {
var pageId = '#{pageId}';
(...)
问题在于我希望此脚本代码位于单独的文件中,而不是在我的视图中。
所以我想用
包含脚本script(src='js/my_script.js')
但是我无法在脚本中获取变量的值。
这通常是怎么做的?将变量从服务器发送到客户端视图中的脚本代码似乎是错误的。
我想我使用pug.js
是无关紧要的,因为即使在普通的html中也必须出现同样的问题。
答案 0 :(得分:0)
您可以定义一个全局函数,在客户端JS文件中接收数据,然后从服务器呈现页面上的内联脚本调用该函数。
例如,在script.js
:
function logPageId(id) {
console.log(id);
}
然后在服务器呈现的页面中:
<html>
<body>
<script src="script.js"></script>
<script>
logPageId('somePageId')
</script>
</body>
</html>
您可以使用JSON字符串作为输入。