^o^ > mkdir image_server
^o^ > cd image_server
^o^ > npm init
This utility will walk you through creating a package.json file.
It only covers the most common items, and tries to guess sane defaults.
See `npm help json` for definitive documentation on these fields
and exactly what they do.
Use `npm install --save` afterwards to install a package and
save it as a dependency in the package.json file.
Press ^C at any time to quit.
name: (image_server)
version: (0.0.0) 0.0.1
description:
entry point: (index.js) server.js
test command:
git repository:
keywords:
author: takatoh
license: (ISC)
About to write to C:\Users\hiro\Documents\w\image_server\package.json:
{
"name": "image_server",
"version": "0.0.1",
"description": "",
"main": "server.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "takatoh",
"license": "ISC"
}
Is this ok? (yes) yes
いくつか質問に答えると、プロジェクトの雛形が完成。この時点でフォルダの構成はこうなっている。
^o^ > tree /F
フォルダー パスの一覧: ボリューム OS
ボリューム シリアル番号は FE2A-F7C6 です
C:.
package.json
サブフォルダーは存在しません
package.json というファイルがあるだけだね。 次は依存するパッケージのインストール。今回はリクエストに応じて送信するファイルの MIME TYPE を調べるために、mime というパッケージを利用する。これを package.json に追加する。
var http = require("http");
var fs = require("fs");
var url = require("url");
var mime = require("mime");
server = http.createServer(function(request, response) {
var path = url.parse(request.url).pathname;
console.log(path);
var mimetype = mime.lookup(path);
var filepath = "./images" + path;
fs.readFile(filepath, function (err, data) {
if (err) {
response.writeHead(404, {"Content-Type" : "text/plain"});
response.write("File not found.");
response.end();
} else {
response.writeHead(200, {"Content-Type" : mimetype});
response.write(data);
response.end();
}
});
});
console.log("Start server on port 8888.");
server.listen(8888);