Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
学ぶ チャレンジ:ファイルシステム操作 | Node.jsとExpress.jsによるコンソールアプリケーションの構築
Node.jsとExpress.jsによるバックエンド開発

bookチャレンジ:ファイルシステム操作

メニューを表示するにはスワイプしてください

目標

タスク管理自動化の技術習得。1つのソースからタスクを収集し、その内容を抽出して別のファイルに統合するアプリケーションの開発。途中で発生する可能性のあるエラーも適切に処理すること。

課題

2つのファイルがあると仮定する: tasks.txt は既存のタスク一覧を含み、new-task.txt には tasks.txt ファイルに追加する必要がある単一のタスクが含まれている。

以下の手順に従い、課題を完了し、自身のマシン上で実際に作成する:

  1. 作業スペースの準備: 新しいフォルダーを作成し、お好みのコードエディタで開く.
  2. タスクの設定: tasks.txt ファイルを作成し、次のタスクを入力するか、提供された tasks.txt ファイルを利用する:
    • Teach a goldfish 🐠 to play chess ♟️;
    • Build a sandcastle 🏰 in your living room 🛋️;
    • Create a song 🎶 using only sounds from nature 🌿.
  3. 新しいタスクの定義: new-task.txt ファイルを作成し、次のタスクを入力するか、提供された new-task.txt ファイルを利用する:
    • Invent a new dance move and perform it in public. 💃🕺.
  4. メインスクリプト: アプリケーションの中核となる app.js ファイルを作成する.
    • fsモジュールのインポート: アプリケーションでファイル操作を可能にするため、fs モジュールをインポートする;
    • 内容の読み取り: fs モジュールの readFile 関数を使用して new-task.txt ファイルから内容を抽出する。成功とエラーの両方を管理するために .then().catch() を実装する;
    • 内容の追加: .then() ブロック内で内容が正常に読み取られたら、appendFile 関数を使用して内容を tasks.txt ファイルに追加する。内容の後に改行文字 (\n) を付加することを忘れない。
  5. 実行: app.js ファイルを保存し、ターミナルで node app コマンドを使用して実行する.

下記のコードエディタを利用する場合、ご自身のファイルは認識されず、進捗も表示されないことにご注意ください。

123456789
const fs = require("fs").___; fs.___("new-task.txt", "utf-8") .then(___ => { return fs.___("tasks.txt", ___ + ___); }) .___((error) => { console.log("Error:", error); });
copy
  1. ファイル操作のために fs モジュールをインポート。
  2. fs.readFile("new-task.txt", "utf-8") を使用して、new-task.txt ファイルから内容を読み取る。
  3. .then() をチェーンして、ファイル内容の読み取り成功時の処理を行う。
  4. .then() ブロック内で、内容を引数として受け取るコールバック関数を指定。
  5. .then() の Promise の readFile ブロック内で、fs.appendFile を使用して tasks.txt ファイルに内容を追加する処理を返す。
  6. 追加する内容の区切りとして改行文字 \n を含めること。
  7. .then() 操作の appendFile ブロックの後に、チェーンして .catch() ブロックでエラー処理を行う。
  8. .catch() ブロック内で、エラーを引数として受け取るコールバック関数を指定。
  9. .catch() ブロック内で、エラーメッセージと受け取ったエラーをログ出力。
  10. Node.js でスクリプトを実行するには node app と入力。
const fs = require("fs").promises;

fs.readFile("new-task.txt", "utf-8")
  .then((content) => {
    return fs.appendFile("tasks.txt", content + "\n");
  })
  .catch((error) => {
    console.log("Error occurred:", error);
  });
すべて明確でしたか?

どのように改善できますか?

フィードバックありがとうございます!

セクション 2.  4

AIに質問する

expand

AIに質問する

ChatGPT

何でも質問するか、提案された質問の1つを試してチャットを始めてください

セクション 2.  4
some-alt