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

时间:2018-09-01 17:05:53

标签: javascript node.js server-side client-side

我正在尝试从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);

必须要

2 个答案:

答案 0 :(得分:1)

您无法做到。 app.js在客户端中,无法导入"./server/server.js" 但是您可以在渲染时发送具有该文件名的数组名称。

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>

yourFilesyour_folder中文件的数组名称 如果要从服务器加载文件,可以使用AJAX进行加载。

我使用变量diffrent的名称来避免错误输入。

答案 1 :(得分:0)

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