nodejs一覧

nodejsでchatをつくってみた

まずは準備
socket.ioをインストールする

[root@localhost app2.chat]# npm install socket.io --save

ついでにfsもインストールしておく

[root@localhost app2.chat]# npm install fs --save

app.jsの編集

var http = require('http');
var socketio = require('socket.io');
var fs = require('fs');

//サーバを立ち上げる
var server = http.createServer(function(req, res) {
  res.writeHead(200, {"Content-Type": "text/html"});
  var output = fs.readFileSync('./index.html', 'utf-8');
  res.end(output);
});
server.listen(3000, function() {
  console.log("running..");
});

//サーバとソケットを紐付ける
var io = socketio.listen(server);

//イベント受付処理
io.sockets.on("connection", function(socket) {

  socket.on("C_to_S_message", function(data) {
    //サーバからイベントを発火させる
    io.sockets.emit("S_to_C_message", {value:data.value});
  });
});

index.htmlの編集

<!DOCTYPE HTML>
<html>
<head>
<meta charset="UTF-8">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.1/jquery.min.js"></script>
<script src="/socket.io/socket.io.js"></script>
<script type="text/javascript">
$(function() {
  var s = io.connect();
  //サーバーから受け取るイベント
  s.on("S_to_C_message", function(data) {
    $("#message").append("<li>" + data.value + "</li>");
  });
  //クライアントからサーバーへイベント送信
  $(document).on("click", "#submit", function() {
    var msg = $("#text").val();
    s.emit("C_to_S_message", {value:msg});
});
</script>
</head>
<body>
<ul id="message"></ul>
<input id="text"><button id="submit">send</button>
</body>
</html>

nodejs インストールと初期設定

nodejsのインストール

nodejsとnpmをインストールする

//nodejsとnpmをインストール
[root@localhost nodejs]# yum -y install --enablerepo=epel nodejs npm

nをインストール

[root@localhost nodejs]# npm -g install n inherits //nをインストール
-gはグローバルのオプション(うまくいかない場合は外してみる)

nodejsをいったん削除し、nで再びインストールする

[root@localhost nodejs]# yum remove nodejs //nodejsを削除
[root@localhost nodejs]# n stable //nodejsをインストール

初期設定

ディレクトリを作成し、その中でnpm initをおこなう。

[root@localhost nodejs]# mkdir app1
[root@localhost nodejs]# cd app1
[root@localhost app1]# npm init

いろいろ聞かれるがすべてEnter

his utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sensible defaults.

See `npm help json` for definitive documentation on these fields
and exactly what they do.

Use `npm install ` afterwards to install a package and
save it as a dependency in the package.json file.

Press ^C at any time to quit.
package name: (app1)
version: (1.0.0)
description:
entry point: (index.js)
test command:
git repository:
keywords:
author:
license: (ISC)
About to write to /root/nodejs/app1/package.json:

{
  "name": "app1",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC"
}


Is this ok? (yes)

リスト表示で確認

[root@localhost app1]# ll
total 24
drwxr-xr-x 50 root root 4096 Mar 4 10:32 node_modules
-rw-r--r-- 1 root root 250 Mar 4 10:32 package.json
-rw-r--r-- 1 root root 12915 Mar 4 10:32 package-lock.json

node_modulesやpackage.jsonが入った

expressをインストールする場合

[root@localhost app1]# npm install express --save //saveオプションでpackageに依存関係を記述
npm WARN app1@1.0.0 No description
npm WARN app1@1.0.0 No repository field.

おわり