English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Node.jsの例:以下に、Node.js基本的な知識、fsモジュール、mysqlモジュール、httpモジュール、urlモジュール、JSONの解析など、例を示します。
以下に、このNode.jsチュートリアルで紹介するNode.jsの例のリストがあります:
モジュール/トピック | 例 |
基本的な |
|
ファイルシステム |
|
MySQL |
|
URL |
|
JSON |
|
HTTP |
|
以下はシンプルなNode.jsの例、メッセージをコンソールに表示するために使用されます。
console.log("Hi there! This is Node.js!")
Calculator.js
// 二つの数字の加法を返します exports.add = function (a, b) { return a+b; }; // 二つの数字の差を返します exports.subtract = function (a, b) { return a-b; }; // 二つの数の積を返します exports.multiply = function (a, b) { return a*b; };
var calculator = require('./calculator'); var a=10, b=5; console.log("Addition : "+calculator.add(a,b)); console.log("Subtraction : "+calculator.subtract(a,b)); console.log("Multiplication : "+calculator.multiply(a,b));
readFileExample.js
// ファイルfsモジュールをインポートします var fs = require('fs'); var data = 'Learn Node FS module'; // ファイル名、内容、コールバック関数を持つwriteFile関数 fs.writeFile('newfile.txt', data, function(err) { if (err) throw err; console.log('File is created successfully.'); });
端末機またはコマンドプロンプトでnodeコマンドを実行してプログラムを実行します:
端末出力
$ node createFileExample.js File is created successfully.
このファイルは「学習节点FSモジュール」という内容を持つサンプルnode.jsプログラムの隣に作成されるべきです。
// ファイルシステムモジュールをインポートする var fs = require('fs'); // sample.htmlファイルを読み取ります fs.readFile('sample.html', // ファイルを読み終えた時に呼び出されるコールバック関数 function(err, data) { if (err) throw err; // データはファイル内容を含むバッファです console.log(data.toString('utf8'));8)) });
端末機またはコマンドプロンプトでnodeコマンドを実行してプログラムを実行します:
端末出力
$ node readFileExample.js <html> <body> <h1>Header</h1> <p>I have learnt to read a file in Node.js.</p> </body> </html>
node.jsのサンプルプログラムの隣に「sample.txt」と名付けられたファイルがあることを確認してください。
// fsモジュールをインポートします var fs = require('fs'); // 「sample.txt」と名付けられたファイルを削除します fs.unlink('sample.txt', function(err) { if (err) throw err; // エラーがない場合、ファイルは成功して削除されました console.log('File deleted!'); });
端末機またはコマンドプロンプトでnodeコマンドを実行してプログラムを実行します:
端末出力
$ node deleteFile.js File deleted!
ファイルは成功して削除されました。
このサンプルでは、内容「Hello!」をテキストファイルsample.txtに書き込みます。
// ファイルシステムモジュールをインポートする var fs = require('fs'); var data = "Hello !" // データをファイルsample.htmlに書き込む fs.writeFile('sample.txt', data, // ファイル書き込み後に呼び出されるコールバック関数 function(err) { if (err) throw err; // エラーがなければ console.log("Data is written to file successfully.") });
上記のプログラムがTerminalで実行された場合、
番組出力
arjun@arjun-VPCEH26EN:~/ワークスペース/nodejs$ node nodejs-write-to-file-example.js データはファイルに成功して書き込まれました。
// mysqlモジュールをインクルードします var mysql = require('mysql'); // 必要な詳細情報を持つ接続変数を作成します var con = mysql.createConnection({ host: "localhost", // mysqlを動作させるサーバーのIPアドレス user: "arjun", // mysqlデータベースのユーザー名 password: "password" // 対応するパスワード }); // データベースに接続します。 con.connect(function(err) { if (err) throw err; console.log("Connected!"); });
selectFromTable.js MySQL SELECT FROMクエリの簡単なサンプル
// Node.js MySQL SELECT FROMクエリサンプル // mysqlモジュールをインクルードします var mysql = require('mysql'); // 必要な詳細情報を持つ接続変数を作成します var con = mysql.createConnection({ host: "localhost", // mysqlを動作させるサーバーのIPアドレス user: "arjun", // mysqlデータベースのユーザー名 password: "password", // 対応するパスワード database: "studentsDB" // 指定されたデータベースを使用 }); // データベースとの接続を確立します。 con.connect(function(err) { if (err) throw err; // 接続が成功した場合 con.query("SELECT * FROM students", function (err, result, fields) { // 上記のクエリを実行中にエラーが発生した場合、エラーを投げます if (err) throw err; // エラーがない場合、結果を得ます console.log(result); }); });
selectFromWhere.js
// mysqlモジュールをインクルードします var mysql = require('mysql'); // 必要な詳細情報を持つ接続変数を作成します var con = mysql.createConnection({ host: "localhost", // mysqlを動作させるサーバーのIPアドレス user: "arjun", // mysqlデータベースのユーザー名 password: "password", // 対応するパスワード database: "studentsDB" // 指定されたデータベースを使用 }); // データベースとの接続を確立します。 con.connect(function(err) { if (err) throw err; // 接続が成功した場合 con.query("SELECT * FROM students where marks>90", function(err, result, fields) { // 上記のクエリを実行中にエラーが発生した場合、エラーを投げます if (err) throw err; // エラーがない場合、結果を得ます console.log(result); }); });
上記.jsファイルの場所からターミナルを開き、selectFromWhere.js Node.js MySQLサンプルプログラムを実行します。
AscOrderExample.js
//mysqlモジュールをインクルードします var mysql = require('mysql'); // 必要な詳細情報を持つ接続変数を作成します var con = mysql.createConnection({ host: "localhost", // mysqlを動作させるサーバーのIPアドレス user: "arjun", // mysqlデータベースのユーザー名 password: "password", // 対応するパスワード database: "studentsDB" // 指定されたデータベースを使用 }); // データベースとの接続を確立します。 con.connect(function(err) { if (err) throw err; // 接続が成功した場合 con.query("SELECT * FROM students ORDER BY marks", function(err, result, fields) { // 上記のクエリを実行中にエラーが発生した場合、エラーを投げます if (err) throw err; // エラーがない場合、結果を得ます console.log(result); }); });
実行するNode.js MySQL ORDER BYサンプルプログラム。
// mysqlモジュールをインクルードします var mysql = require('mysql'); // 必要な詳細情報を持つ接続変数を作成します var con = mysql.createConnection({ host: "localhost", // mysqlを動作させるサーバーのIPアドレス user: "arjun", // mysqlデータベースのユーザー名 password: "password", // 対応するパスワード database: "studentsDB" // 指定されたデータベースを使用 }); // データベースとの接続を確立します。 con.connect(function(err) { if (err) throw err; // 接続が成功した場合 con.query("INSERT INTO students (name,rollno,marks) values ('Anisha',12,95function(err, result, fields) { // 上記のクエリを実行中にエラーが発生した場合、エラーを投げます if (err) throw err; // エラーがない場合、結果を得ます console.log(result); }); });
ターミナル上でNode.js MySQLプログラムを実行します。
UpdateRecordsFiltered.js-MySQLテーブルのレコードを更新します
// mysqlモジュールをインクルードします var mysql = require('mysql'); // 必要な詳細情報を持つ接続変数を作成します var con = mysql.createConnection({ host: "localhost", // mysqlを動作させるサーバーのIPアドレス user: "arjun", // mysqlデータベースのユーザー名 password: "password", // 対応するパスワード database: "studentsDB" // 指定されたデータベースを使用 }); // データベースとの接続を確立します。 con.connect(function(err) { if (err) throw err; // 接続が成功した場合 con.query("UPDATE students SET marks=84 WHERE marks=74", function(err, result, fields) { // 上記のクエリを実行中にエラーが発生した場合、エラーを投げます if (err) throw err; // エラーがない場合、結果を得ます console.log(result); }); });
上記のプログラムをターミナルで実行します
端末出力
arjun@arjun-VPCEH26EN:~/ワークスペース/nodejs$ node UpdateRecordsFiltered.js OkPacket { fieldCount: 0, affectedRows: 3, insertId: 0, serverStatus: 34, message: '(Rows matched: 3 Changed: 3 Warnings: 0', protocol41: true, changedRows: 3 }
指定されたテーブルに対して、テーブル上のレコードの1つまたは複数の属性にフィルタを適用した場合、DELETE FROMクエリを実行します。
// mysqlモジュールをインクルードします var mysql = require('mysql'); // 必要な詳細情報を持つ接続変数を作成します var con = mysql.createConnection({ host: "localhost", // mysqlを動作させるサーバーのIPアドレス user: "arjun", // mysqlデータベースのユーザー名 password: "password", // 対応するパスワード database: "studentsDB" // 指定されたデータベースを使用 }); // データベースに接続します。 con.connect(function(err) { if (err) throw err; // 接続が成功した場合 con.query("DELETE FROM students WHERE rollno>10", function(err, result, fields) { // 上記のクエリを実行中にエラーが発生した場合、エラーを投げます if (err) throw err; // エラーがない場合、結果を得ます console.log(result); }); });
deleteRecordsFiltered.jsの実行-端末出力
arjun@arjun-VPCEH26EN:~/ワークスペース/nodejs$ node deleteRecordsFiltered.js OkPacket { fieldCount: 0, affectedRows: 6, insertId: 0, serverStatus: 34, message: ' protocol41: true, changedRows: 0}
DOT(。)演算子を使用して、結果セット内のレコードを配列およびレコードの属性としてアクセスできます。
// Node.js MySQL結果オブジェクトの例 // mysqlモジュールをインクルードします var mysql = require('mysql'); // 必要な詳細情報を持つ接続変数を作成します var con = mysql.createConnection({ host: "localhost", // mysqlを動作させるサーバーのIPアドレス user: "arjun", // mysqlデータベースのユーザー名 password: "password", // 対応するパスワード database: "studentsDB" // 指定されたデータベースを使用 }); // データベースとの接続を確立します。 con.connect(function(err) { if (err) throw err; // 接続が成功した場合 con.query("SELECT * FROM students", function (err, result, fields) { // 上記のクエリを実行中にエラーが発生した場合、エラーを投げます if (err) throw err; // エラーがない場合、結果を得ます // 結果のすべての行に対してイテレーションを行います Object.keys(result).forEach(function(key) { var row = result[key]; console.log(row.name) }); }); });
上記のプログラムを実行するためにターミナルのノードを実行
端末出力
arjun@arjun-VPCEH26EN:~/ワークスペース/nodejs$ node selectUseResultObject.js John Arjun Prasanth Adarsh Raja Sai Ross Monica Lee Bruce Sukumar
// urlモジュールを導入 var url = require('url'); //localhost:8080/index.php?type=page&action=update&id=',5221'; var q = url.parse(address, true); console.log(q.host); //返却「localhost:8080' console.log(q.pathname); //返却「/index.php' //返却「'?type=page&action=update&id=',5221" var qdata = q.query; // 返却するオブジェクト:{タイプ:ページ,アクション:'update',id="5221} console.log(qdata.type); //返却「ページ」 console.log(qdata.action); //返却「更新」 console.log(qdata.id); //返却「 5221"
端末出力
$ node urlParsingExample.js localhost:8080 /index.php ?type=page&action=update&id=5221 page update 5221
以下のサンプルは、JSON.parse()関数を使用してJSONオブジェクトから要素にアクセスする方法を示します。
// JSONデータ var jsonData = '{"persons":[{"name":"John","city":"New York"},{"name":"Phil","city":"Ohio"}]}'; // JSONを解析します var jsonParsed = JSON.parse(jsonData); // 要素にアクセスします console.log(jsonParsed.persons[0].name);
nodejsを実行します-parse-json.jsのターミナル出力
arjun@arjun-VPCEH26EN:~/ワークスペース/nodejs$ node nodejs-parse-json.js John
Node.jsサンプルーHTTPヘッダーとメッセージを含む応答を準備するHTTP Webサーバーです。
// ファイルにhttpモジュールをインクルードします var http = require('http'); // サーバーを作成します http.createServer(function (req, res) { // httpヘッダー // 200-メッセージを確認してください // htmlコンテンツを使用して応答を行う場合、「 Content-Type”が「 text / html” res.writeHead(200, {'Content-Type': 'text/html'}); res.write('Node.js says hello!'); //クライアントに応答を書き込みます res.end(); //応答を終了します }).listen(9000); //サーバーオブジェクトはポート9000上でリスニングしています
サーバーを実行します
$ node httpWebServer.js
ブラウザを開き、URL「 http:」をクリックしてください。//127.0.0.1:9000/、これにより、私たちのWebサーバーへのリクエストをトリガーします。