【发布时间】:2016-09-20 19:20:33
【问题描述】:
我使用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 中也会出现同样的问题。
【问题讨论】:
-
<script>someglobalobj.someval = '#{pageId}'</script>,或 ajax。您可以让您的服务器端代码解析所有 .js 文件,但是......不。 pageId不在url中吗? -
你应该看看 webpack 或 npm 模块“config”之类的东西。也看到这个问题stackoverflow.com/questions/30030031/…
-
实际上不仅仅是
pageId。它也是我用来绘制d3.js图形的大量 json 格式的数据。所以在一个页面上,我得到了一些 json 格式的数据,而在另一个页面上,我得到了一些 json 格式的数据。所以不可能直接在.js文件中硬编码数据。
标签: javascript node.js express pug