Попытка записи в файл JSON с помощью узла fs.writeFile - PullRequest
1 голос
/ 20 марта 2019

Надеюсь, я говорю это правильно.То, что я пытаюсь сделать, это записать в файл JSON с помощью fs.writeFile.

Я могу заставить его работать, используя командную строку, но я хочу вызвать функцию, может быть, нажатием кнопки, чтобы обновить файл json.

Я полагаю, мне понадобится какой-то тип вызова на сервер узлов, который является локальным портом 8080. Я исследовал и видел, как кто-то упоминал использование .post, но все еще не могу понять, как написать логику.

$(".button").on("click", function(event) {

    fs.writeFile("./updateme.json", "{test: 1}", function(err) {
        if(err) {
            return console.log(err);
        }
        console.log("The file was saved!");
    });

});

1 Ответ

0 голосов
/ 20 марта 2019

Использование jQuery вместе с fs?Вау, это может быть здорово!К сожалению, это не так просто!

Позвольте мне представить вам VS на стороне сервера VS на стороне клиента JavaScript .Ну, на самом деле в сети есть много ресурсов по этому поводу - просто Google или проверьте ответы на этот другой вопрос StackOverflow .По сути, JavaScript может работать либо в браузере (Chrome, Mozilla ...), либо в виде программы (обычно это сервер, написанный на NodeJS), и хотя язык ( почти ) одинаков, обе платформы не работают.у него те же функции.

Сценарий, который вы показываете, должен запускаться в браузере, потому что он использует jQuery и взаимодействует с кнопками и прочим (то есть DOM ).Можете ли вы представить, какой беспорядок будет, если этот скрипт может взаимодействовать с файловой системой?Любая страница, которую вы посетите, сможет ползти в ваших праздничных фотографиях и других личных материалах, которые вы храните на своем компьютере. Плохая идея! Вот почему некоторые библиотеки, такие как fs, не доступны в браузере.

Аналогично, некоторые библиотеки, такие как jQuery, недоступны (или просто бесполезны) на сервере, посколькунет HTML и взаимодействия с пользователем, только безголовые программы, работающие.


Итак, что я могу сделать, чтобы написать файл JSON после того, как пользователь нажмет кнопку?

Вы можете настроить:

  • Сервер NodeJS, который будет записывать файл JSON
  • Заставить jQuery вызывать этот сервер с данными, которые будут записаны послепользователь нажимает кнопку

Если вы хотите получить дополнительные рекомендации по этому вопросу, сообщите мне в комментариях!Я буду готов отредактировать свой вопрос, чтобы включить инструкции по настройке такой среды.

...