ejs怎么引用外部js

JavaScript015

ejs怎么引用外部js,第1张

虽然是坟,我来发表一下我的看法。我用的是node的express,在后台的router里面会有一段向客户端发送数据的代码。其中我们看到发送了一个title和result的数据。

1

2

3

4

res.render('AccountManager',{

title: 'Express',

result:result

})

而在客户端的ejs里面会有一段ejs的代码,其中有ejs需要获取数据的变量。这个result就是从服务器response请求的数据。客户端每发送一次get请求都有request和response。

1

2

3

4

5

6

7

8

9

10

11

12

13

14

<tbody>

<% for(var i=0i<result.lengthi++){%>

<tr>

<th><%= i+1 %></th>

<td><%= result[i].username %></td>

<td><%= result[i].password %></td>

<td><%= result[i].lastName + result[i].firstName %></td>

<td><%= result[i].company %></td>

<td><%= result[i].telephone %></td>

<td><%= result[i].email %></td>

<td><%= result[i].authority %></td>

</tr>

<%}%>

</tbody>

最近在用nodejs写一点东西,当然也用到了express框架和ejs模版了。在使用ejs模版的过程中遇到了这个问题:如何在ejs模版中导入外部的js、css文件。

我猜测,ejs和html导入外部文件的方式应该是不一样的。但是我还是决定试一试。按照之前在html文件中的方式导入,结果失败。

这也证明我之前的想法,这些静态文件一经过服务器,就不能直接进行导入了。那该如何导入呢?

这是我的文件结构:

我现在需要在index.ejs文件中导入public文件夹下的table.css以及table.js两个文件。

我为什么要将两个静态文件放到public文件夹下呢?

大家应该都知道,在使用express框架时,在安装了express模块之后,在该项目下的命令行输入express -e 就会自动生成相应的文件目录。当然,上面的截图中的目录是我自己写的,下面是express自动生成的目录:

可以看到,其中的public文件夹是其自动生成的,也就是让你放静态文件的文件夹。(当然也不是必须是“public”)