ハロワから始めるnode.js
1, windowsローカルにnode.jsをインストールする
https://nodejs.org/ja/
2, デスクトップなどに適当なjsファイル(a.js)を作って1行だけ書く
1 |
console.log('hello, world') |
3, コマンドプロンプトから実行すると文字列が表示される
1 2 |
node a.js hello, world |
4, node.jsで簡易Webサーバを作り、hello,worldと表示させる
http:127.0.0.1:8989 でブラウザからみれる。
Webサーバの終了は、コマンドラインでCtrl+Cでキャンセルさせる
1 2 3 4 5 6 7 8 9 10 |
// requireはライブラリ読込、 var http = require('http') var os = require('os') // httpライブラリから簡易Webサーバ起動 http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}) const host = os.hostname() res.end(`Hello World ${host} \n`) }).listen(8989) |
5, 引数を受け取ってみる
1 2 3 |
for(var i = 0;i < process.argv.length; i++){ console.log("argv[" + i + "] = " + process.argv[i]); } |
1 2 3 4 5 6 7 |
# 引数は、process.argvの配列で取得できる # argv[0] = nodeの実行ファイル C:\Program Files\nodejs\node.exe # argv[1] = jsファイルのパス C:\a.js # argv[2] = 第一引数 aaa # argv[3] = 第二引数 bbb # argv[4] = 第三引数 ccc node a.js aaa bbb ccc |
6, 引数で受け取ったテキストファイルを開いて表示。追記して保存する
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
//FileSystemライブラリを読み込む var fs = require('fs'); const arg_file = process.argv[2]; //fs.readFile(ファイルパス,文字コード,コールバック関数); fs.readFile(arg_file,"utf-8",function(err,data) { if(err) { throw err; } //受け取ったデータを表示 // console.log(data); //受け取ったテキストデータを修正。 data = data + "\n next world \n" fs.writeFile("output.txt", data, (err) => { if(err) { throw err; } // 書き込んだデータを表示 console.log(data); }); }); |
1 2 |
# a.jsとa.txtが同じフォルダなら、ファイル名だけでOK node a.js a.txt |
7, 標準じゃないライブラリを使ってみる。リクエストって標準じゃないのか…。
1 |
npm install request |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
// いまインストールしたパッケージを使う const request = require('request'); // 任意のURLを、wgetやcurlのように取得する request.get('https://www.google.co.jp/', function(err, res, body) { // エラーの場合は、エラー内容を表示する if (err) { console.log('Error: '+err.message); return; } // 取得してきたWebページのコードを表示する console.log(body); }); |