diadia

興味があることをやってみる。自分のメモを残しておきます。

nodejs をすこし使えるようにするためのメモ

参考: Node.js入門 - とほほのWWW入門

今これを使うのは、cognitoで認証できた結果をdjangoにつなぐことができるか確認する事が必要。 記事通りやれば認証までは行けるからそこからdjangoにつなげさえすればかなりOKな感じになるんだと思う。

ハローワールドをやってみる

var http = require("http");
var server = http.createServer(function (req, res) {
    res.write("HELLO WORLD");
    res.end();
}).listen(8080);

このファイルをsample1.jsとして以下を実行する

node sample1

そしてlocalhost:8080/ にアクセスするとちゃんとハローワールドできている。

expressを利用するケース

expressはフレームワークのことらしい。

Express は、Web アプリケーションとモバイル・アプリケーション向けの一連の堅固な機能を提供する最小限で柔軟な Node.js Web アプリケーション・フレームワークです。

Express - Node.js Web アプリケーション・フレームワーク

手順

mkdir express_test
cd express_test

npm init
# package.jsonにexpress を登録
npm install express

以下のファイルをindex.jsと命名し作成する

var express = require('express');
var app = express();
app.listen(8080);

app.get('/test1', function(req, res) {
  res.send('TEST1\n');
});

app.post('/test2', function(req, res) {
  res.send('TEST2\n');
});

以下のコマンドでサーバーを立てる

node index

開発時expressをホットリロードにする

nodemonを使えばホットリロードができる。

nodemon - npm

// nodemonをインストール
npm install -g nodemon

// ホットリロードで起動
nodemon index
// npm startでnodemonを起動させる
// package.jsonのscriptsのところで以下のように書いておく
"scripts": {
    "test": "echo \"Error: no test specified\" && exit 1",
    "start": "nodemon index"
  },

$ npm start

nodejsのでバッグ

デバッグの種類が多くてなにを使えばよいのか分からなかった。

とりあえずtyprにはnodeじゃなくてpwa-nodeとかpwa-chromeがあることが分かった。 pwa-chromeの方は最初にnodeを起動しておいてからじゃないとデバッグを起動しても動かないことだけは確認した。この辺なかなか難しい感じがする。。。pwa-chromeだとcognitoのテストが使えないし。