node入门(一)--内置模块

Global and window 全局对象
首先,下载安装nodejs

//node环境下为global
//浏览器环境下为window
global.setTimeout(function () { 
    console.log("xx");
},1000);
//global下的内置对象 setTime(), setInterval()
//当前绝对路径文件夹—前面不加global
console.log(__dirname);
//当前文件的绝对路径
console.log(__filename);

process.exit(); 进程

console.log("ceshi");
console.log("ceshi");
process.exit();//提前结束进程,后面不执行
console.log("ceshi");

node内置模块

语法:require(‘模块名’)

util模块

见文知意,就不累叙
isArray(),isRegExp(),isDate(),isError

eg:
var util = require('util');
//传入参数,返回是布尔值
console.log(util.isArray([]));

http模块

抓取网页内容
语法:request({host,port,path,method,headers},callback)
var http = require('http');
//发起一个request请求
http.request({
    host: 'www.baidu.com',//必须
    port: 80,
    path: '/',//根路径
    method : 'get',
    headers:{//主要用于同个ip下的多个域名访问
        host:'file.home.com'
    }
}, function (response) {
    var datas = [];
    //注册异步,得到返回值
    response.on('data', function (data) {
        datas.push(data);
    });
    response.on('end', function () {
        console.log(datas.join(''));
    })
}).end();

createServer 创建一个服务器

创建一个服务器:
createServer(cb(req,resp)),listen(port,cb))
response.writeHead(200,{})
//一个简易服务器 

var http = require('http');
http.createServer(function (req,resp) {
    /*resp.writeHead(302,{//请求转发重定向
     location : 'http://www.baidu.com'
     });*/
    //设置请求头,以纯文本返回 可选:text/html
    resp.writeHead(200,{
        'Content-Type' : 'text/plain'
    });
    resp.write('

11___11

'
); //write后还可以继续写 resp.end('

js js JS

'
);//end就代表不能继续 }).listen(3000,function () { console.log('服务器打开了'); });

使用get方式与服务器进行交互

var http = require('http');
var url = require('url');//导入url模块得到请求数据
var queryString = require('querystring');//解析

http.createServer(function (req,resp) {
    /*get读取方式*/
    console.error(url.parse(req.url));
    /** 通过url parse解析的get请求数据
    * Url {
     protocol: null,
     slashes: null,
     auth: null,
     host: null,
     port: null,
     hostname: null,
     hash: null,
     search: '?name=123&password=321',
     query: 'name=123&password=321',
     pathname: '/',
     path: '/?name=123&password=321',
     href: '/?name=123&password=321' }
    * */
     var query = url.parse(req.url).query;
    console.log(query); //name=123&password=321
    //加载queryString 解析为json
    console.log(queryString.parse(query));
    //{ name: '123', password: '321' }

    resp.writeHead(200,{//请求转发
        'Content-Type' : 'text/html'
    });
    resp.end('
' + '
'
+ '
'
+ '' + ''
); }).listen(3000,function () { console.log('服务器打开了'); });

使用post方式与服务器进行交互

var http = require('http');
var url = require('url');//导入url模块得到请求数据
var queryString = require('querystring');//解析

http.createServer(function (req,resp) {
    /*post请求方式*/
    var datas = [];
    //在req上注册data事件
    req.on('data',function (data) {
        datas.push(data);
    });
    req.on('end',function () {
        console.log(datas.join('')); 
        //name=123&password=123
        console.log(queryString.parse(datas.join(''))); 
        //{ name: '123', password: '123' }
    });

    resp.writeHead(200,{//请求转发
        'Content-Type' : 'text/html'
    });
    resp.end('
' + '
'
+ '
'
+ '' + ''
); }).listen(3000,function () { console.log('服务器打开了'); });

文件系统模块

eadFile-readdir
readFile(path,cb(err,data)) 读取文件
readdir(path,cb(err,files)) 读取目录下的文件
writeFile(path,data) 写入文件
unlink() 删除文件
mkdir() 创建一个目录
rmdir() 删除一个目录
exists() 判断一个文件是否存在,异步回调
existsSync() 用同步方式判断文件
rename() 修改文件名异步
//test.txt中的文件内容

Hello world

var fs = require('fs'); //读取文件 .为当前路径 fs.readFile('test.txt',function (err,data) { //得到是数组,需要toString(); console.error(data.toString()); //

Hello world

}); //读取当前文件下的所有文件,包括文件夹内的 fs.readdir('.',function (err,dirs) { console.log(dirs); }); //写入数据 fs.writeFile('./test.txt','

世界你好

'
,function (err) { console.log(arguments); })

子进程模块

exec(cmd,{encoding:'GBK'},callback(err,data))
var http = require('http');
var child_process = require('child_process');
http.createServer(function (req, resp) {
    resp.writeHead(200, {//请求转发
        'Content-Type': 'text/html'
    });
    //拿help或者ipconfig
    child_process.exec('help',{encoding:'GBK'},function (err,data) {
        resp.end(data);
    });
    /*child_process.exec('ipconfig',{encoding:'GBK'},function (err,data) {
        resp.end(data);
    });*/
}).listen(3000, function () {
    console.log('服务器打开了');
});

你可能感兴趣的:(NodeJs)