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();
node.js 学习随笔的更多相关文章
- NODE.JS学习的常见误区及四大名著
NODE.JS学习的常见误区及四大名著 前段时间由于不满于社区里很多人对于NODE.JS的种种误解而写了一篇文章名为: NODE.JS之我见:http://www.cnblogs.com/pugang ...
- Node.js学习系列总索引
Node.js学习系列也积累了一些了,建个总索引方便相互交流学习,后面会持续更新^_^! 尽量写些和实战相关的,不讲太多大道理... Node.js学习笔记系列总索引 Nodejs学习笔记(一)--- ...
- 【入门必备】最佳的 Node.js 学习教程和资料书籍
Web 开发人员对 Node.js 的关注日益增多,更多的公司和开发者开始尝试使用 Node.js 来实现一些对实时性要求高,I/O密集型的业务.这篇文章中,我们整理了一批优秀的资源,你可以得到所有你 ...
- node.js学习(1)
新建便笺 3 node.js学习(1) 1)安装 http://nodejs.org/download/下载. 2)编写一个案例 var http=require("http"); ...
- 我的Node.js学习历程
学习一门技术,每个人都有每个人的方法.我的方法很简单,做项目. 基本概念 在搭建一个node网站之前,还是要掌握一些基本的概念的,这里列举一下,具体的内容大家自己到网上去查: npm bower ex ...
- Node.js学习之TCP/IP数据通讯
Node.js学习之TCP/IP数据通讯 1.使用net模块实现基于TCP的数据通讯 提供了一个net模块,专用于实现TCP服务器与TCP客户端之间的通信 1.1创建TCP服务器 在Node.js利用 ...
- Node.js学习起步
Node.js学习: 简单的说 Node.js 就是运行在服务端的 JavaScript.Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台.Node.js是一个事件驱 ...
- 一点感悟:《Node.js学习笔记》star数突破1000+
写作背景 笔者前年开始撰写的<Node.js学习笔记> github star 数突破了1000,算是个里程碑吧. 从第一次提交(2016.11.03)到现在,1年半过去了.突然有些感慨, ...
- Node.js学习看这里:基础、进阶、文章
Node.js是基于Chrome JavaScript运行时建立的一个平台,实际上它是对Google Chrome V8引擎进行了封装,它主要用于创建快速的.可扩展的网络应用. Node.js采用事件 ...
随机推荐
- UVA - 129 Krypton Factor (困难的串)(回溯法)
题意:求由字母表前L个字母组成的字典序第n小的困难串.(如果一个字符串包含两个相邻的重复子串,则称它是"容易的串",其他串称为"困难的串".) 分析:回溯时,检 ...
- 【转】43个优秀的Swift开源项目推荐
作为一门集百家之长的新语言,Swift拥有着苹果先天的生态优势,而其在GitHub上各种优秀的开源项目也层出不穷.本文作者@SwiftLanguage从2014年6月苹果发布Swift语言以来,便通过 ...
- HDU1429 bfs
胜利大逃亡(续) Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Su ...
- JQuery的 jQuery.fn.extend() 和jQuery.extend();
原文链接:http://caibaojian.com/jquery-extend-and-jquery-fn-extend.html jQuery.fn.extend(); jQuery.extend ...
- Java解析JSON文件的方法 (二)
assets文件夹资源的访问 assets文件夹里面的文件都是保持原始的文件格式,需要用AssetManager以字节流的形式读取文件. 1. 先在Activity里面调用g ...
- fold change(ratio)
fold change 英文简称 : FC 中文全称 : 倍性变化 所属分类 : 生物科学 词条简介 : 一种用于描述两个用于相比的对象数量差异的方法.例如,第一个样本和第二个样本的量是50/10,那 ...
- 解压文件--linux
linux下不同的文件格式用不同的命令解压. 对于tar.gz文件,用以下命令. .tar.gz 和 .tgz解压:tar zxvf FileName.tar.gz压缩:tar zcvf FileNa ...
- vue-cli 官方模板webpack-simple的npm run dev 与npm run bulid的一些问题
npm run dev命令后并不会在dist目录下生成build.js文件,开发环境下build.js是在运行内存中的. 在package.json的scripts属性的dev后面加上--port 8 ...
- 列表视图(ListView)和ListActivity
ListView是手机系统中使用非常广泛的一种组件,它以垂直列表的形式显示所有列表项. 创建ListView有如下两种方式: 直接使用ListView进行创建. 让Activity继承ListActi ...
- HTML URL
HTML 统一资源定位器(Uniform Resource Locators) URL 是一个网页地址. URL可以由字母组成,如"runoob.com",或互联网协议(IP)地址 ...