外部js文件引用<%=title%>变量
我有个小问题想请教下:在ejs文件中<%=title%>变量已经可以获取,但是在引用的js文件中,使用<%=title%>却获得不到值,这个是有其他方法吗?还是思路不对,只能在ejs文件中用script的方法使用<%=title%>变量呢?
代码:
服务器端:
res.render('tab', { title: 'tabexpress' , user:user });
客户端:
在ejs里引用<%=title%>正常
在ejs里的script中引用‘<%=title%>’也正常
但是在html里引用外部js文件,在外部js文件里引用‘<%=title%>’,就得不到值了。
问题: 这个是我用错了,有其他方法在外部js中使用此变量吗? 还是思路不对,只能在ejs文件中用script的方法使用<%=title%>变量呢?
多谢指导!
4 回复
想要弄清楚这个问题,先去了解一下 ejs 是个什么东西
如果你真要想外部js引用到title
<script>
var title = '<%= title %>';
</script>
<script src="main.js"></script>
ejs 在生成 html 的时候,会插值到 <%= %> 的地方。这是在服务端做的。
你外部的引用的 js,是在 ejs 生成了 html 之后,由浏览器负责解释。
这样说明白了吧?
解决方案:
同 1L 所说。
逻辑:
需要将你的 title 变量放置在一个外部 js 可以访问的地方。
好的,明白了! 谢谢!!!
我也遇到这个问题,感谢!