JavaScript学习笔记[4]
JavaScript学习笔记[4]
- 使用的是廖雪峰JavaScript教程。
Node.js基本模块
- global
- process,代表当前Node.js进程
> process === global.process; true > process.version; 'v5.2.0' > process.platform; 'darwin' > process.arch; 'x64' > process.cwd(); //返回当前工作目录 '/Users/michael' > process.chdir('/private/tmp'); // 切换当前工作目录 undefined > process.cwd(); '/private/tmp'
Node.js基本内置模块
- fs,异步读取文件,同步文件,readFileSync(),writeFileSync(),获取文件信息fs.stat(),服务器必须使用异步操作。
```
//读取utf-8文本文件
'use strict';
var fs = require('fs');
fs.readFile('sample.txt', 'utf-8', function (err, data) {
if (err) {
console.log(err);
} else {
console.log(data);
}
});
```
```
//读取二进制图片,返回Buffer
'use strict';
var fs = require('fs');
fs.readFile('sample.png', function (err, data) {
if (err) {
console.log(err);
} else {
console.log(data);
console.log(data.length + ' bytes');
}
})
```
```
'use strict';
var fs = require('fs');
fs.stat('sample.txt', function (err, stat) {
if (err) {
console.log(err);
} else {
// 是否是文件:
console.log('isFile: ' + stat.isFile());
// 是否是目录:
console.log('isDirectory: ' + stat.isDirectory());
if (stat.isFile()) {
// 文件大小:
console.log('size: ' + stat.size);
// 创建时间, Date对象:
console.log('birth time: ' + stat.birthtime);
// 修改时间, Date对象:
console.log('modified time: ' + stat.mtime);
}
}
});
isFile: true
isDirectory: false
size: 181
birth time: Fri Dec 11 2015 09:43:41 GMT+0800 (CST)
modified time: Fri Dec 11 2015 12:09:00 GMT+0800 (CST)
```
- Node.js基本模块stream
- Node.js基本模块http
```
//hello.js
'use strict';
var http = require('http');
var server = http.createServer(function(request, response){
console.log(request.method + ':' + request.url);
response.writeHead(200, {'Content-Type' : 'text/html'});
response.end('
Hello world!
');});
server.listen(8080);
console.log('Server is running at http://127.0.0.1:8080/');
```
```
//file_server.js
'use strict';
var
fs = require('fs');
url = require('url');
path = require('path');
http = require('http');
var root = path.resolve(process.argv[2] || '.');
console.log('Static root dir : ' + root);
var server = http.createServer(function(request, response){
var pathname = url.parse(request,url).pathname;
var filepath = path.join(root, pathname);
fs.stat(filepath,function(err,stats){
if(!err && stats.isFile()){
console.log('200' + request.url);
response.writeHead(200);
fs.createReadStream(filepath).pipe(response);
} else{
console.log('404' + request.url);
response.writeHead(400);
response.end('404 Not Found');
}
})
});
server.listen(8080);
console.log('Server is running at http://127.0.0.1:8080/');
```
- crypto
- MD5和SHA1
- Hmac
- AES
- Diffie-Hellman
浙公网安备 33010602011771号