node.js 学习随笔

一,cnmp的操作;

1,cnmp info jquery查询jquery的版本;

2,cnmp install jquery@1.11.1;安装;

3,cnmp list查询所有下载的内容;

4,cnmp list | grep jquery;只显示下载的juery;

二,在某个js文件中启用搭建服务器;

1,利用ES5创建服务器;

var http=require("http");

http.createServer(function(req,res){

res.writeHead(200,{"Content-Type":"text/html"});

res.end("你好,世界!");

}).listen(8888);

console.log("Server running at http://127.0.0.2:8888/");

2,利用ES6创建服务器;

const http=require("http");

const homename="127.0.0.1";

const port=3000;

const server=http.createServer(function(req,res){

res.statusCode=200;

res.setHeader("Content-Type":"text/plain");

res.end("你好!");

});

server.listen(port,hostname,()=>{

console.log("服务器创建成功!");

});

三,commonJS的用法;

1,

首先引入http模块;

var http=require("http");

2,

再引入我们需要的模块;

var util=require("./util.js");//在同一个目录下的文件要用./的方式;

3,

       http.createServer(function(req,res){

      res.writeHead(200,{"Content-Type":"text/plain";utf-8});

       util.say(res);//一定是引入的模块;

       util.add(res);//一定是引入的模块;

       res.end();//res开始,并且res结束;

}).listen(8000);

console.log("修改成功!");

 

 

例子!!!!

var http=require("http");

var util=require("./util.js");

http.createServer(function (req,res) {

    res.writeHead(200,{"Content-Type":"text/plain;charset=utf-8"});

    util.say(res);

    util.add(res);

    res.end();

}).listen(8000);

console.log("你好!");

 

var util={

    say:function (res) {

        res.write("nihao");

    },

    add:function (res) {

        res.write(1+2+"");

    }

}

module.exports=util;

a。定义接口;再定义的时候如果用到var util={};的时候记住是json的格式;

b。暴露接口;module.exports=util;

四,npm的使用

1,全局安装模块;npm install n -g

2,项目依赖,通过--save加进去

3,开发依赖,线上不需要---通过--dev加进去

4,查看版本标识:cnpm outdated

五,协议

https://www.baidu.com:8080/api.php?from=1000phone&course=nodejs#test

{

     protocol: 'https:',

     slashes: true,

     auth: null,

     host: 'www.baidu.com:8080',

     port: '8080',

     hostname: 'www.baidu.com',

     hash: '#test',

     search: '?from=1000phone&course=nodejs',

     query: { from: '1000phone', course: 'nodejs' },

     pathname: '/api.php',

     path: '/api.php?from=1000phone&course=nodejs',

     href: 'https://www.baidu.com:8080/api.php?from=1000phone&course=nodejs#test' }

六,事件监听

var EventEmitter=require("events");

在es6中定义一个对象的方法:class Player extends EventEmitter;

实例化一个player对象:var player=new Player();

监听的过程:两个

1,接收事件--->只能有一个接收事件;player.on("playing",(data)=>{

console.log(`正在播放:${data}`);

});

2,派发事件---->可以有多个区派发;player.emit("playing","相见恨晚");

playing("playing","情在");

七,文件管理;

共有7个方法:

1,查看文件状态,()

var fs=require("fs");

fs.stat("所要查看的文件名称",(err,stats)=>{

if(err){

console.log(err)

}else{

console.log(`目录:${stat.isDirectory()}`);

console.log(`文件:${stat.isFile()}`);

}

})

2,创建目录:利用fs.mkdir;

3,写入文件,并写入内容;包括连个方面;

a:开始没有文件,创建文件并写入内容;fs.writeFile;

fs.writeFile("创建的文件路径及名称","写入文件得内容",()=>{})

b:开始有文件,只写入内容;

fs.appendFile("写入得文件路径及名称","写入文件得内容",()=>{})

4,读取文件:利用fs.readFile("文件的路径和名称","utf-8",()=>{});

如果不写第二个则会出现返回来的为buffer类型的数据;但是如有没有此文件则会出现报错;

5,读取文件夹;fs.readdir("文件名称",(=>{});

6,文件重命名;fs.rename("原来文件名称","更改后文件名称"()=>{});

7,删除文件(包括两个步骤)

a:删除文件里面的内容;

fs.readdirSync("所删除的文件夹").map((item)=>{

fs.unlink(`所删除的文件夹/${item}`,(err)=>{

if(err){

console.log(err)

}else{

console.log("成功!");

}

})

});

b:删除文件夹

fs.rmdir("所要删除的文件",(err,data)=>{

if(){}else{};

})

八,stream;

1,--save项目以来

2,--save-dev项目开发以来;

3.pipe上一层的输出作为下一层的输入;

4.zlib压缩模块;

zlib.createGzip();

 

posted @ 2017-02-15 11:32  千年鱼  阅读(147)  评论(0编辑  收藏  举报