Node.jsのコードを新規生成するときの前準備。GitHub利用前提のメモ。


はじめに

Qiita投稿とコーディングのリハビリが目的のメモです。
ゼロからNode.jsコードを新規作成する際の前準備です(Cloneするのではなく、という意図)。
イマイチ覚えてなくて「どうやるんだっけー?」に、なったのでメモします。

以下を前提とした環境を作ることが目的です。

  • 作業メモと複数環境でコーディングを目的にGithub利用
  • テストフレームワークにmocha利用

あと、ついでにVSCodeの初期設定もメモ(後述)。

先ずGitHubで新規リポジトリ作成

webブラウザーでGithubにログインして、新規リポジトリを作成。

その際には、
Create a new repository

「Add .gitignore: Node」
を選んでおく。
ライセンスは適当に。私はたいてい
「Add a license: MIT License」
を選択。

  • 同期しないファイル/フォルダーが、いい感じに設定される

Windows OSクライアントのGitHubクライアント立ち上げてローカルに取り込む

Webブラウザー上で作成したリポジトリに移動。「Clone」ボタンを押して、Clone用のUriをコピーする。

ローカルでGitHubクライアント立ち上げて、リモートリポジトリからCloneを選択。

さっきのUri貼り付けて、ローカルへの取り込みを実行。

無視するファイルの設定ファイル「.gitignore」を開いて、下記を下に追加する。
(Mac向けも記載されているのは、ご愛嬌w)

追加する無視ファイルと拡張子
# =========================
# Operating System Files
# =========================

# Windows
# =========================

# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# Windows shortcuts
*.lnk

# =========================
# Operating System Files
# =========================

# OSX
# =========================

.DS_Store
.AppleDouble
.LSOverride

# Thumbnails
._*

# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns

# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk

# Directories of tool
coverage

# Local bat file
*.bat


フォルダ作成

mkdir src
mkdir test

ソースコード用と、テストドライバー用を作成する。

テストフレームワークを取得

開発時のみ、で設定する。

  • npm init
    • test command: node_modules\.bin\mocha
  • package.json編集
    • script欄に「"start": "node server.js"」(ファイル名は適宜)を追加する。
  • 以下のコマンドで、テストフレームワークを(ローカル)インストする。
npm install mocha chai sinon promise-test-helper   --save-dev

VSCode の設定(任意)

Visual Studio Codeをエディターとして使うなら、srcフォルダーと同じ階層に「.vscode」フォルダー作って以下のファイルを保存する。

メニューから自動生成できた気もするけど、覚えてない。
ペタッと貼り付ける場合はコレ。VSCode v1.15.1で動作確認。

こうしておくと、
「Ctrl + Shift + P 」でコマンドパレットを開けて
「tasks test」って打つとテストが走って(゚д゚)ウマー。
開いた「出力」ペインは「Ctrl + Shift + U 」で閉じれる。
快適ー。

tasks.json
{
    // See https://go.microsoft.com/fwlink/?LinkId=733558
    // for the documentation about the tasks.json format
    "version": "0.1.0",
    "command": "npm",
    "isShellCommand": true,
    "showOutput": "always",
    "suppressTaskName": true,
    "tasks": [
        {
            "taskName": "install",
            "args": ["install"]
        },
        {
            "taskName": "update",
            "args": ["update"]
        },
        {
            "taskName": "test",
            "args": ["run", "test"]
        }
    ]
}

コーディングの方針(検証目的時)

「こんなコードで動くんかな?」を試すときは、以下。

  1. srcフォルダ配下にお試しコードを書く。
  2. その関数をexportsする。
  3. testフォルダ配下に、それをキックするテストドライバーのコード書く。
    • 外部環境への依存何ぞこの時点では気にしない。がつがつ依存してOK。
  4. Inputに対して期待した応答(Output)するか、を テストフレームワークベースで確認していく。

後に、この時のお試しコード、テストコードは、ともにコメントアウトするか、バッサリ削除していく。
GitHubに突っ込んであるので、必要に応じて履歴辿りも楽。

※【注意】GitHubで公開モードなので、パスワードとかアクセスきーは、コード中に書かない事。環境変数を用いて設定。実行時にbatファイルに書いて、ラッパーするのはOK。⇒そのために、「同期対象外」に「*.bat」を設定。

以上ー。
(※これは、あくまで私個人のメモです。)