LemonteaのUnity部屋

C#とかのお話です~

Node.js入門 npmでパッケージの管理

こんにちは。レモンティーです。

今回はnpmによるパッケージの管理です。

前回までに登場したモジュールはBuiltInモジュールといって
Node.jsで最初から使えるモジュールでした。

Node.jsにはそれ以外にも色々な人が作ったモジュールがあり
インストールして使用することができます。

インストールには専用のPackageManagerである
npmを使います。
npmはNode.jsと一緒にインストールされますので
別途ダウンロードなどは必要ありません。

npmでパッケージをインストールするには
次のコマンドを使います。

npm install パッケージ名

https://www.npmjs.com/
で欲しいパッケージを探すことができます。



自分がインストールしているパッケージの名前とバージョンを見るには
次のコマンドを使います。

npm list --depth=0

//グローバルはこっち
npm list --depth=0 -g




今回はこれでおしまいです。

www.sawalemontea.com

Node.js入門 イベントの発火と受け取り Eventsモジュール

こんにちは。レモンティーです。

今回はEventsモジュールを使います。

EventsモジュールのEventEmitterオブジェクトを使うと
イベントの発火や受け取りができます。

//発火
eventEmitter.emit('eventName');

//受け取り(毎回受け取る)
eventEmitter.on('eventName',eventHandler); 

//受け取り(最初の一回だけ)
eventEmitter.once('eventName',eventHandler); 

//解除(指定したeventHandler。同じHandlerが複数登録されていた場合は最後の)
eventEmitter.removeListener('eventName',eventHandler);

//解除(そのイベントの全てのeventHandler)
eventEmitter.removeAllListeners('eventName');

eventHandlerはイベント発火時に実行したい関数です。


今回はこれでおしまいです。

www.sawalemontea.com

Node.js入門 ファイルの読み書き・削除・リネーム FileSystemモジュール

こんにちは。レモンティーです。

今回はFileSystemモジュールでファイル操作をします。

fsモジュールではこれまでに使ったファイル読み込みの他にも
書き込み、削除、リネーム…など色々できます。

読み込み

これまではreadFileSyncでサーバをつくる前に同期的に読み込んでいましたが、
サーバでの処理ではreadFileを使うことで非同期的に読み込みます。
これはファイルへのアクセスのような時間のかかる処理を同期的に行うと
その完了まで待機することになりパフォーマンスが低下するためです。

しかし非同期だと普通に次の行からファイル読み込みの続きを書いても
意図した順番に実行されるとは限りません。
なのでファイル読み込みが完了したら行いたい続きの処理を
readFileメソッドの引数で渡します。
callBack関数というやつです。

readFile('path',function(error,data){
    //読み込み完了時の処理
});

読み込んだデータはdataに格納されます。
もしエラーが発生したらその情報がerrorに格納されます。

書き込み

writeFileで非同期的に書き込みができます。
pathで指定されたファイルが存在しなかった場合は作成されます。

fs.writeFile('path', 'text', function (err) {
    //書き込み完了時の処理
});

appendFileで既存の文章にテキストを追加できます。
pathで指定されたファイルが存在しなかった場合は作成されます。

fs.appendFile('path', 'text', function (err) {
  //書き込み完了時の処理
});

削除

unlinkメソッドでファイルを削除できます。

fs.unlink('path', function (err) {
  //完了時処理
});

リネーム

renameメソッドでファイルの名前を変更できます。

fs.rename('path', 'new name', function (err) {
    //完了時処理
});

今回はこれでおしまいです。
www.sawalemontea.com

Node.js入門 URLのパース URLモジュール

皆さんこんにちは。レモンティーです。

今回はurlモジュールを使ってurlをパースします。
これでアクセスしたurlによって処理内容を変えたりできますね。
ちなみにリクエストされたURLはreq.urlに格納されています。

urlのパースは以下のようになります。

var q = url.parse('パースしたいurl', true);

第二引数はクエリ文字列もパースするかどうか、です。

これでqのプロパティからurlの各部分を取得できます。

console.log(q.protocol);

なら

https

などと表示されるでしょう。


試しに

var url = require('url');
var q = url.parse("https://www.sawalemontea.com/");
console.log(q);

を実行すると

Url {
  protocol: 'https:',
  slashes: true,
  auth: null,
  host: 'www.sawalemontea.com',
  port: null,
  hostname: 'www.sawalemontea.com',
  hash: null,
  search: null,
  query: null,
  pathname: '/',
  path: '/',
  href: 'https://www.sawalemontea.com/' 
}

と表示されます。

urlの構造については↓などで解説されています。
https://www.marketechlabo.com/url-structure-for-marketer/

今回はこれでおしまいです。
www.sawalemontea.com