首页 文章

在node.js中填充具有变量值的javascript文件

提问于
浏览
0

我使用 node.jsexpress.jspug / jade .

在我的服务器中,我使用变量 pageId 填充视图 .

我在 pug 视图中使用此变量

script.
  document.addEventListener('DOMContentLoaded', function () {
    var pageId = '#{pageId}';

    (...)

问题是我希望这个脚本代码位于一个单独的文件中,而不是在我的视图中 .

所以我想要包含脚本

script(src='js/my_script.js')

但后来我无法在脚本中获得变量的值 .

这通常是怎么做的?将变量从服务器发送到客户端视图中的脚本代码似乎是错误的 .

我想我使用 pug.js 是无关紧要的,因为即使在普通的html中也必须出现同样的问题 .

1 回答

  • 0

    您可以定义一个全局函数,该函数在客户端JS文件中接收数据,然后从服务器呈现页面上的内联脚本调用该函数 .

    例如,在_843554中:

    function logPageId(id) {
      console.log(id);
    }
    

    然后在您的服务器呈现页面中:

    <html>
      <body>
        <script src="script.js"></script>
        <script>
          logPageId('somePageId')
        </script>
      </body>
    </html>
    

    您可以使用JSON字符串作为输入执行相同操作 .

相关问题