在“public”文件夹中模拟静态前端.js文件的正确方法是什么(使用Express / NodeJS和EJS)?

时间:2017-07-28 23:38:42

标签: node.js express ejs

有没有办法“模板”静态前端.js文件(“public”文件夹中的文件)与我用EJS模板化HTML的方式相同?

这甚至可能吗?如果是的话,最好的方法是什么?

1 个答案:

答案 0 :(得分:4)

模板化js,css文件确实是一个坏主意,因为浏览器会缓存那些js文件,如果它们有 Cache-Control 标头,并且大多数反向代理如cloudflare默认情况下将Cache-Control标头设置为所有静态文件。

有两种方法可以解决这个问题。

  1. 使用隐藏的表单字段
  2. EJS:

    <input type="hidden" name="language" id="language" value="<%-language%>">

    JS:

    var language = document.getElementById('language').value; console.log(language)

    1. 在添加.js文件并在其中分配变量值之前,只需在ejs文件中编写脚本块。
    2. EJS:

      <script> var language = <%-language%></script>

      JS:

      console.log(language)