Javascript 使用JS访问ejs文件中的静态文件

Javascript 使用JS访问ejs文件中的静态文件,javascript,node.js,html,Javascript,Node.js,Html,因此,我使用node.js创建了一个小应用程序,并像这样为我的资产文件夹提供服务 app.use(express.static('assets')); 现在在我的.ejs文件中,我可以很容易地引用图像,例如 var img = document.createElement('img'); img.src = '/img/picture.jpg' 现在,我要做的是循环浏览该文件夹中的所有图像,并在页面上显示它们 差不多 var images = new Array(); images = {

因此,我使用node.js创建了一个小应用程序,并像这样为我的资产文件夹提供服务

app.use(express.static('assets'));
现在在我的
.ejs
文件中,我可以很容易地引用图像,例如

var img = document.createElement('img');
img.src = '/img/picture.jpg'
现在,我要做的是循环浏览该文件夹中的所有图像,并在页面上显示它们

差不多

var images = new Array();
images = { All pictures in the /img directory }

images.forEach(function(image) {
    var img = document.createElement('img');
    img.src = image;
}
所以我的问题是,如何使用JS获取所有静态图像的名称?我是否需要对目录进行AJAX调用来读取文件名?或者使用node.js在服务器端执行此操作,并将图像传递到
.ejs
文件。通常,哪一种做法更好(可以是一个单独的问题,但我想我会问)

提前谢谢

所以我的问题是,如何使用JS获取所有静态图像的名称

在向服务器发出请求之前,客户端不知道服务器将响应什么URL

我是否需要对目录进行AJAX调用来读取文件名

这将是一种可能的办法

或者使用node.js在服务器端执行此操作,并将图像传递到.ejs文件

这也会起作用

通常,哪一种做法更好(可以是一个单独的问题,但我想我会问)

视情况而定

使用Ajax需要第二个HTTP请求,但响应可以缓存

当页面加载时这样做会减少请求的数量,但会打开,但是每次页面加载时都必须完成获取列表的工作,并且会增加该页面的大小

因此,使用唯一可测量的指标,哪一个是最好的,取决于个人重新加载页面的频率以及列表更改的频率