一、模块
模块:node开发者读部分内容进行格式化整理的模板。模块,又称构件,是能够单独命名并独立地完成一定功能的程序语句的集合;在程序设计中,为完成某一功能所需的一段程序或子程序;或指能由编译程序、装配程序等处理的独立程序单位;或指大型软件系统的一部分。
二、内置模块
内置模块:nodejs 编写者,自己编写在nodejs 中的模块,nodejs 本身包含的模块。
Let’s Coding:
const tt
= require('fs');
tt
.unlink('test.txt',(err
) => {
if(err
) throw err
;
console
.log('成功删除文件');
});
fs模块
fs 模块:File System 模块,内含对文件的所有操作;
Let’s Coding:
const fs
= require('fs');
fs
.readFile('test.txt','utf-8',(err
,data
) => {
console
.log(data
);
});
let str
= `one two three`;
fs
.writeFile('test.txt',str
,(err
) => {
if(err
== null){
console
.log('success');
}else{
console
.log(err
);
}
});
fs
.readFile('test.txt','utf-8',(err
,data
) => {
console
.log('after');
console
.log(data
);
});
console
.log('before');
console
.log('first step');
let content
= fs
.readFileSync('test.txt','utf-8');
console
.log(content
);
console
.log('third step');
path模块
path 模块:path 模块,路径模块,获取文件路径;
相对路径:从当前目录出发寻找的路径;
绝对路径:绝对指定路径,指定磁盘下指定文件;
Let’s Coding:
console
.log(__dirname
);
console
.log(__filename
);
const PATH = require('path');
console
.log(PATH.join(__dirname
,'Test','test.txt'))
http 模块
http 模块:http模块,服务器模块,搭建一个服务器;
Let’s Coding:
const HTTP = require('http');
HTTP.createServer((request
,response
)=>{
respone
.setHeader('Content-Type','text/html;charset-utf-8');
response
.end('Win');
});
server
.listen(8080,()=>{
console
.log('Server runing...');
});
fs + path +http 结合
Let’s Coding:
const FILESYSTEM = require('fs') ;
const HTTP = require('http') ;
const PATH = reqiore('path') ;
const SERVER =HTTP.createServer((request
,response
)=>{
const FILEPATH = PATH.join(__dirname
,index
.html
);
FILESYSTEM.readFile(FILEPATH,'utf-8',(err
,data
)=>{
if(err
== null){
response
.end(data
);
}
else{
response
.end('404');
}
});
});
SERVER.listen(8080,()=>{
console
.log('Win');
})
三、第三方模块
第三方模块:非 nodejs 自带的模块;
Crawler 爬虫模块
crawler :使用npm下载一个crawler模块;
Let’s Coding:
var Crawler
= require('crawler');
var fs
= require('fs') ;
var client
= new Crawler({
encoding
:null,
jQuery
:false,
callback
:function(error
,response
,done
){
if(error
){console
.log(error
);}
else{
var $
= response
.$
;
fs
.writeFile('路径',$('标签名').text(),(err
)->{
if(err
){console
.log(err
)};
});
}
done();
}
});
c
.queue('url')
var Crawler
= require('crawler');
var fs
= require('fs') ;
var client
= new Crawler({
encoding
:null,
jQuery
:false,
callback
:function(error
,response
,done
){
if(error
){console
.log(error
);}
else{
fs
.writeFileStream(response
.options
.filename
).write(response
.body
);
}
done();
}
});
c
.queue({
uri
:"",
filename
:'',
headers
:{'user-Agent':'requests'}
})
var Crawler
= require('crawler');
var fs
= require('fs') ;
var client
= new Crawler({
encoding
:null,
jQuery
:false,
callback
:function(error
,response
,done
){
if(error
){console
.log(error
);}
else{
fs
.createWriteStream(response
.options
.filename
).write(response
,body
);
}
done();
}
});
c
.queue({
uri
:"",
filename
:'',
headers
:{'user-Agent':'requests'}
})
express 模块
express 模块:搭建服务器模块
Let’s Coding:
const EXPRESS = require('express');
const SERVER = express();
SERVER.use(express
.static('www'));
SERVER.listen(8080,() => {
console
.log('Server Running...');
});
const EXPRESS = require('express');
const SERVER = express();
SERVER.get('./joke',(req
,res
)=>{
let data
= 'content';
res
.rend(data
);
});
SERVER.listen(8080,() => {
console
.log('Server Running...');
});
const EXPRESS = require('express');
const SERVER = express();
SERVER.get('./json',(req
,res
)=>{
let data
= 'content';
res
.rend({
data
:data
,
code
:'ok',
msg
:'Success'
});
});
SERVER.listen(8080,() => {
console
.log('Server Running...');
});
const EXPRESS = require('express');
const SERVER = express();
SERVER.get('./test',(req
,res
)=>{
let data
= req
.query
.testData
+ 'You Win!';
res
.rend(data
);
});
SERVER.listen(8080,() => {
console
.log('Server Running...');
});
const EXPRESS = require('express');
const SERVER = express();
SERVER.post('./pose',(req
,res
)=>{
res
.rend('Success');
});
SERVER.listen(8080,() => {
console
.log('Server Running...');
});
const EXPRESS = require('express');
const BODYPARSER = require('body-parser');
const SERVER = express();
SERVER.use(bodyParser
.urlencoded({extended
:false}));
SERVER.post('./pose',(req
,res
)=>{
let data
= req
.body
.testData
;
res
.rend(data
+ 'Success');
});
SERVER.listen(8080,() => {
console
.log('Server Running...');
});
const EXPRESS = require('express');
const BODYPARSER = require('body-parser');
const SERVER = express();
SERVER.use(bodyParser
.urlencoded({extended
:false}));
SERVER.post('./pose',(req
,res
)=>{
res
.setHeader('Content-Type','text/json');
res
.rend(data
+ 'Success');
});
SERVER.listen(8080,() => {
console
.log('Server Running...');
});
const EXPRESS = require('express');
const SERVER = express();
SERVER.get('./getTest',(req
,res
)=>{
console
.log(req
.query
);
console
.log(req
.query
.dataTest
);
res
.send('Success');
});
SERVER.listen(8080,() => {
console
.log('Server Running...');
});
const EXPRESS = require('express');
const BODYPARSER = require('body-parser');
const SERVER = express();
SERVER.use(bodyParser
.urlencoded({extended
:false}));
SERVER.post('./Check',(req
,res
)=>{
let data
= req
.body
;
if(req
.body
.username
== '111111' && req
.body
.password
== '111111'){
console
.log('Success');
res
.send('register success.');
}else{
console
.log('Defeat');
res
.send('password false...');
}
});
SERVER.listen(8080,() => {
console
.log('Server Running...');
});
const EXPRESS = require('express');
const MULTER = require('multer');
const SERVER = express();
var upload
= MULTER(dest
:'uploads/');
SERVER.post('./Regist',upload
.single('userfile'),(req
,res
)=>{
let userfile
= req
.file
;
console
.log(userfile
);
console
.log(req
.body
);
});
SERVER.listen(8080,() => {
console
.log('Server Running...');
});
结语:问渠那得清如许?唯有源头活水来。