获取传递给包含的js文件中的ejs文件的数据

时间:2016-10-07 10:07:06

标签: javascript node.js express ejs

我使用快速js并使用

渲染文件
res.render('plain',{state:'admin'})

其中plain.ejs是一个ejs文件。该文件包含一个include main.js

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

如何访问main.js文件中的状态变量,请帮助!!!

2 个答案:

答案 0 :(得分:0)

可能是脏的解决方案,但您可以在全局范围内创建状态变量,main.js将能够访问它:

<script type='text/javascript'>
    var state = '<%= state%>'
</script>

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

如果您有更多数据要传递给客户端,您可以将其作为对象传递:

res.render('plain',{data: {state:'admin', page_title: 'first page'}})

然后只输出整个对象:

<script type='text/javascript'>
    var data = <%= JSON.stringify(data)%>
</script>

这样您就可以通过data.state访问状态。

答案 1 :(得分:0)

你不能直接。 但你可以这样做:

plain.ejs

<script>
var state = {{ state }};
</script>
<script src ="/main.js"></script>

然后在main.js

console.log(state);