NodeJSFsモジュール
FSモジュール
3つの形態.
1. renameSync(....)
:同期、コールバック関数return X
2. rename(oldpath, newpath, callback)
:非同期、すべてのタスクを完了したらcallbackを実行
3. fs.promises.rename().then().catch()
:promise形式で使用します.errorを扱うためにはcatchを必ず書きます.
1. Sync(...) : 動機。
try{ renameSync( ... ) } catch(e){console.error(e)}
:同期して実行し、すべて実行するまで、次のステップにジャンプしません.
:コールバック関数は指定されません.
:renameSyncは同期して実行されるため、try、catchがエラーをキャプチャしない場合、エラーが発生した場合、後続の実行は発生しません.したがってsyncの場合はtry、catchを必ず使用します.
try {
fs.renameSync('./sub22.html', './sub.js');
} catch (err) {
console.error(err);
}
console.log('END AFTER');
// try catch로 잡아주지 않으면, error 발생시 console.log('END AFTER');이 실행되지 않는다.
2.rename(oldpath、newpath、callback):非同期
// rename
fs.rename('./sub.js', './subsub.js', (err) => {
console.log(err);
});
console.log('1');
console.log('2');
// readFile
fs.readFile('./text.txt', 'utf8', (err, res) => {
if (err) {
console.error(err);
} else {
console.log(res);
}
});
renameもreadFileも非同期で実行されているため、renameを先に実行するかreadFileを先に実行するか分かりません.fs.promises.rename().then().catch():非同期
const fs = require('fs').promises
など、約束で呼び起こすことができます.import { promises as fsPromises } from 'fs'
const fs=require(「fs」)は、以下のようになります。
const fs = require('fs');
fs.promises
.readFile('./text.txt', 'utf8')
.then((data) => console.log(data))
.catch((err) => console.error(err));
console.log('this is console.log');
//this is console.log
//this is text.txt
const fs = require('fs').約束された状況は以下の通りです。
const fs = require('fs').promises;
fs.readFile('./text.txt', 'utf8')
.then((data) => console.log(data))
.catch(console.error);
fs.writeFile('./text.txt', 'hello hello hello')
.catch(console.error);
FSメソッド
const fs = require('fs').promises
例として例を書くすべての方法は非同期で実行されます.
したがって、appendFildになる前にレプリケーションが完了する可能性があり、予想される結果が得られない可能性があります.
fs.readFile
デフォルトはBufferです.utf 8のようにオプションを設定できます.
fs.readFile('./text.txt', 'utf8')
.then((data) => console.log(data))
.catch(console.error);
fs.writeFile
fs.writeFile('./text.txt', 'hello hello hello')
.catch(console.error);
fs.appendFile
fs.appendFile('./text.txt', 'yoyoyo').catch(console.error);
fs.copyFile
fs.copyFile('./text.txt', './text2.txt').catch(console.error);
fs.mkdir
fs.mkdir('sub-folder') //
.catch(console.error);
fs.unlink
fs.unlink('./text2.txt') //
.catch(console.error);
fs.readdir
fs.readdir('./') //
.then(console.log)
.catch(console.error);
Reference
この問題について(NodeJSFsモジュール), 我々は、より多くの情報をここで見つけました https://velog.io/@ellie12/NodeJS-fs-모듈テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol