从node.js(服务器端)获取数组以响应app.js(客户端)

问题描述 投票:0回答:2

我正试图从node.js(服务器端)获取一个数组来响应app.js(客户端)所以我需要从节点获取文件到阵列并将其发送到app.js它似乎从节点module.exports和从app.js导入不像这样的工作就是我尝试过的

node.js文件:

const fs= require('fs');
const files=fs.readdirSync('../Movies');
module.exports={
  movies:files
}

app.js文件

import { movies } from "./server/server.js";
console.log(movies);

确实有

javascript node.js server-side client-side
2个回答
1
投票

你不能这样做。 app.js在客户端,它无法导入"./server/server.js"但是你可以在渲染时发送数组中有forder的文件名。

node.js

const files=fs.readdirSync('../Movies');
// when user request your page (this example use ejs)
res.render('<your_ejs_file>', {
    myFiles: files,
});
// in your_ejs_file, create variable:
<script>
    var yourFiles = <%= JSON.stringify(myFiles)%>            
</script>

yourFiles是在your_folder中命名的文件数组如果你想从服务器加载文件,你可以使用AJAX来加载它。

我使用不同的变量名称来避免错误。


0
投票

如果要将数据从服务器端发送到客户端,可以使用AJAX(使用前端JavaScript向服务器发送HTTP请求)。您还可以使用其他有用的软件包来简化您的工作,例如requestaxios

© www.soinside.com 2019 - 2024. All rights reserved.