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

问题描述 投票:2回答:1

有没有一种方法可以像我用EJS模板化HTML一样“模板化”静态前端.js文件(“ public”文件夹中的文件)?

那有可能吗? 如果是,最好的方法是什么?

node.js express ejs
1个回答
4
投票

模板化js,css文件确实不是一个好主意,因为如果浏览器具有Cache-Control标头并且大多数反向代理(例如cloudflare)将默认情况下对所有静态文件设置Cache-Control标头,则浏览器将缓存这些js文件。

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

  1. 使用隐藏的表单字段

EJS:

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

JS:

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

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

EJS:

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

JS:

console.log(language)

© www.soinside.com 2019 - 2024. All rights reserved.