node(1)

安装 Express

$ npm install express

以上命令会将 Express 框架安装在当前目录的node_modules目录中,node_modules目录下会自动创建 express 目录。以下几个重要的模块是需要与 express 框架一起安装的:

body-parser- node.js 中间件,用于处理 JSON, Raw, Text 和 URL 编码的数据。

cookie-parser- 这就是一个解析Cookie的工具。通过req.cookies可以取到传过来的cookie,并把它们转成对象。

multer- node.js 中间件,用于处理 enctype="multipart/form-data"(设置表单的MIME编码)的表单数据。

$ cnpm install body-parser--save

$ cnpm install cookie-parser--save

$ cnpm install multer--save

安装完后,我们可以查看下 express 使用的版本号:

$ cnpm list express


server.js

var express = require("express");

var app = express();

var fs = require("fs");

app.get('/', function(req, res) {

res.sendFile(__dirname + "/" + "index.htm");

console.log("Cookies: ", req.cookies)

});

var server = app.listen(8081, function() {

var host = server.address().address;

var port = server.address().port;

console.log("应用实例,访问地址为 http://%s:%s", host, port)

})

执行 node server.js

打开浏览器访问 http://127.0.0.1:8081,会打开index.htm页面

index.htm

name:

password:

profession:

name:

passeord:

proffession:

server.js

var cookieParser = require('cookie-parser');

app.use(cookieParser());

app.get('/addUser_g', function(req, res) {//get请求

console.log(req.query)

fs.readFile(__dirname + "/" + "users.json", "utf8", function(err, data) {//文件读取

data = JSON.parse(data);

console.log(data);

var id = data.users[data.users.length - 1].id;

req.query.id = id + 1;

data.users.push(req.query)

console.log(data);

fs.writeFile('users.json', JSON.stringify(data), function(err) {//文件写入

if(err) {

return console.error(err);

}

console.log("数据写入成功!");

console.log("--------我是分割线-------------")

console.log("读取写入的数据!");

fs.readFile('users.json', function(err, data) {

if(err) {

return console.error(err);

}

console.log("异步读取文件数据: " + data.toString());

});

});

res.end(JSON.stringify(data))

})

})

//post

var bodyParser = require('body-parser');

// 创建 application/x-www-form-urlencoded 编码解析

var urlencodedParser = bodyParser.urlencoded({extended: false})

app.post('/addUser_p', urlencodedParser, function(req, res) {

//同get,传入的数据在req.body中

})

//上传文件

server.js

var multer  = require('multer');

app.use(multer({ dest: '/tmp/'}).array('image'));//input 的name

app.post('/file_upload',urlencodedParser, function (req, res) {

console.log(req.files[0]);  // 上传的文件信息

var des_file = __dirname + "/uploadFile/" + req.files[0].originalname;//存放的文件位置及文件名,不能放在不存在的文件夹内

fs.readFile( req.files[0].path, function (err, data) {

fs.writeFile(des_file, data, function (err) {

if( err ){

console.log( err );

}else{

response = {

message:'File uploaded successfully',

filename:req.files[0].originalname

};

}

console.log( response );

res.end( JSON.stringify( response ) );

});

});

})

index.htm

查看例子

你可能感兴趣的:(node(1))