Получить массив из node.js (на стороне сервера) для реагирования на app.js (на стороне клиента) - PullRequest
0 голосов
/ 01 сентября 2018

Я пытаюсь получить массив от node.js (на стороне сервера), чтобы реагировать app.js (на стороне клиента) поэтому мне нужно получить файлы в массив из узла и отправить его на app.js, похоже, module.exports с узла, а импорт из app.js не работает, вот как я пытался

node.js file:

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 голосов
/ 03 сентября 2018

Вы не можете сделать это. 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>

yourFiles - имя массива файла в your_folder Если вы хотите загрузить файл с сервера, вы можете использовать AJAX для его загрузки.

Я использую имя переменной diffrent, чтобы вы не ошиблись.

0 голосов
/ 01 сентября 2018

Если вы хотите отправлять данные со стороны сервера на сторону клиента, вы можете использовать AJAX (отправка HTTP-запросов на сервер с использованием интерфейсного JavaScript). Есть и другие полезные пакеты, которые вы можете использовать для упрощения своей работы, например request или axios

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...