ExpressJS将数据传递到公共js文件

时间:2019-12-06 01:32:34

标签: node.js express ejs backend

我是ExpressJS的新手,我知道如何将数据从后端传递到ejs页面,但是我想知道如何将数据传递到公用文件夹中的js文件?

因此,可以在将数据传递到js文件(该js文件与ejs位于同一文件夹中)的同时传递ejs页面。

我从ExpressJS通过这样渲染ejs页面将数据传递给ejs

  exports.user_signup = (req, res, next) => {
     res.render('login', { page:'Login', email: req.body.email, idd: user[0]._id,} );
  }

ejs文件:

<script src="file1.js"></script>


<%= email %>

所以我想要的是将一些数据从ExpressJS传递到file1.js(位于公共文件夹中)。

1 个答案:

答案 0 :(得分:0)

您无法访问Javascript文件中的ejs数据或将数据传递给js文件。

一种可能的方法是,您可以利用传递给ejs文件的变量。

  • 将您的JS代码复制到ejs文件中,并用<script>标记将其括起来。
  • 将所需数据传递到ejs文件(在我们的案例中为index.ejs)。
res.render('index', {data: 'some data'}); 
  • 在ejs文件的<script>标签内,您可以像访问数据一样。
<script>
 var x= <%- data %>;
 console.log(x);
</script>