多分いろいろ間違っている覚書です。
ターミナルよく使うコマンド
ls:ディレクトリ一覧表示
pwd:今いるパス表示
cd:ディレクトリ移動
mkdir:ディレクトリの作成
touch:ファイルの作成
Nodeのターミナル操作
jsファイルの結果の出力: node jsファイル名
npm
- npm:パッケージ(他の人が作った便利ツール)が使えるようになるもの
- ノードモジュール:パッケージをインストールしたときにそのパッケージと、依存関係のあるパッケージを格納するディレクトリ
- package.json:自分のプロジェクトでインストールしたパッケージ情報などが記載されたjsonファイル
- package-lock.json:インストールしたパッケージの情報が記載されたjsonファイル
npm init
:プロジェクト初期化。package.jsonとjsファイルが作成される。
npm install パッケージ
:ノードモジュールにパッケージがインストールされる。package-lock.jsonも。
npm install
:package.jsonをもとにノードモジュールに必要なパッケージをインストールする。プロジェクトを再現できる。
jsファイル側の操作
パッケージもそうだがファイル間でやり取りされる情報はオブジェクトである。
パッケージ次第で操作方法は異なるが大体下のようなかんじ。
//require()でオブジェクトを呼び出す
const 変数1=require('パッケージ名');
//オブジェクトをインスタンス化
const 変数2=変数1();
変数2.メソッド;
実行のためにはコマンド上で
node ファイル名
を入力する必要がある。
ファイル間でのデータのやりとり
渡す側:
渡したいデータを
module.export.プロパティ=プロパティ
としてオブジェクトに詰め込んでいく。
もらう側:
//require()でオブジェクトを呼び出す
const 変数1=require('パッケージ名');
//オブジェクトをインスタンス化
const 変数2=変数1();
Express使用法入門
サーバーのコードを書き換えたときはCtr+cでいったんサーバー止めなくてはならない
npm init
npm i express
touch index.js
//サーバーのコード書けたら起動
node index.js
// expressを使えるようにする
const express=require('express');
const app=express();
//リクエストを受けるための処理(どのパスに来ても処理を行う)
app.use((req,res)=>{リクエストに対しての具体的な処理});
//サーバーの立ち上げ
app.listen(ポート番号,()=>{サーバー起動時の処理});
//特定のパスへのgetリクエストを受ける処理
app.get(/パス,(req,res)=>{リクエストに対しての具体的な処理});
//ルートパスへのgetリクエストを受ける処理
app.get(/,(req,res)=>{リクエストに対しての具体的な処理});
//関係ないパスへのgetリクエストを受ける処理
app.get(*,(req,res)=>{リクエストに対しての具体的な処理});
//postリクエストに対する処理
app.post(/パス,(req,res)=>{リクエストに対しての具体的な処理});
サブレディット(共通の親を持つページ)へのリクエスト受付
//subreditへのgetリクエストを受ける処理
app.get(/パス/:subredit;/:subredit2,(req,res)=>{
//subreditのバリューの取得
const {subredit,subredit2}=req.params;
});
クエリの処理
app.get(/パス,{req,res}=>{
//クエリの値の取得
const {q}=req.query
});
リクエストに対しての具体的な処理(req,resの操作)
//send レスポンスを返す。リクエストを受ける処理の中で書く
res.send('hoge');
nodemonの使い方
サーバー変更時に一回一回めんどくさいことをしなくてもよくなる。
nodemonはグローバルインストール(どこのディレクトリでも使えるようにする)の方が便利なのでそうしておく。
npm i -g nodemon
//使用
nodemon index.js