外部js文件引用<%=title%>变量
发布于 11 年前 作者 sihao1234 9536 次浏览 最后一次编辑是 8 年前

我有个小问题想请教下:在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 可以访问的地方。

好的,明白了! 谢谢!!!

我也遇到这个问题,感谢!

回到顶部