#javascript #node.js #json #file
Вопрос:
Я пытаюсь прочитать существующий файл JSON, обновить существующее значение и сохранить его обратно. Я получаю сообщение об ошибке ниже:
node:internal/modules/cjs/loader:944
throw err;
^
Error: Cannot find module 'src/myApp/test.json'
Require stack:
at Function.Module._resolveFilename (node:internal/modules/cjs/loader:941:15)
at Function.Module._load (node:internal/modules/cjs/loader:774:27)
at Module.require (node:internal/modules/cjs/loader:1013:19)
at require (node:internal/modules/cjs/helpers:93:18)
at Module._compile (node:internal/modules/cjs/loader:1109:14)
at Object.Module._extensions..js (node:internal/modules/cjs/loader:1138:10)
at Module.load (node:internal/modules/cjs/loader:989:32)
at Function.Module._load (node:internal/modules/cjs/loader:829:14)
at Function.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:76:12) {
code: 'MODULE_NOT_FOUND',
}
Пожалуйста, найдите код ниже —
Буду признателен, если кто-нибудь поможет мне решить эту проблему.
тест.json
{
"key": ""
}
updateJSON.js
const fs = require('fs');
const fileName = 'src/myApp/test.json';
const file = require(fileName);
file.key = "new value";
fs.writeFile(fileName, JSON.stringify(file), function writeJSON(err) {
if (err) return console.log(err);
console.log(JSON.stringify(file));
console.log('writing to ' fileName);
});
Комментарии:
1. В чем заключается ошибка, которую вы получаете ?
2. Я запустил точно такой же код, и значение записывается в файл
3. Обновил свой пост — пожалуйста, проверьте и помогите мне это исправить.
4. Проверьте ответ пользователя 5579894. Это должно помочь вам
Ответ №1:
Сообщение об ошибке Error: Cannot find module 'src/myApp/test.json'
указывает на то, что Node.js не удается src/myApp/test.json
правильно разрешить файл.
По умолчанию имя( src/myApp/test.json
здесь), не начинающееся с ./
, будет распознано как module
Node.js и будет устранено из native modules
и node_modules
, что приводит к ошибке.
Использование относительного пути, как ../src/myApp/test.json
должно исправить это.