node学习笔记

Posted nihaojs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了node学习笔记相关的知识,希望对你有一定的参考价值。

Node.js是一个javascript运行环境(runtime),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。
why?
1.性能 2. js配合紧密 , 3.便于前端学习 安装
1.preparing:
  1. c: 
  2. cd 文件名
  3. node xxx.js 运行
2.node--服务器
http协议
request               请求 输入-请求信息
response             相应 输出-浏览器信息
 
3.fs
 异步vs同步
 
readFile(文件名, callback(err, data))
writeFile(文件名, 内容, callback)
 
请求    数据
get     <32k
post    1G
 
4.GET数据解析
      1.querystring 返回json   .parse(‘a=1&b=2’)
      2.url 返回json urlLib = url.parse(user?id=2&name=a’, true)   query/pathname
      3.自己切
5.POST 数据解析 
      很大--分段
  1. data --有一段数据到达(n)
  2.  end --数据全部到达(一次)
 
6. 实例http/fs/get/post
用户登录、注册
接口:
/user?act=reg&user=aaa&pass=123456
{“ok”: false, “msg”: “原因”}
 
/user?act=login&user=aaa&pass=123456
{“ok”: true, “msg”: “原因”}
==================================================================
//对文件访问 html/js/jpg
// 对接口访问
 
 
7. 模块化:
getserver
  1. 系统模块:
Crypto 加密
Events 事件
Net 网络操作
OS 操作系统信息
Path 处理文件路径
Stream 流操作
Timers 定时器 interval settimeout
Zip 压缩
Util工具 VM虚拟机
 
 
Require 使用, 引入系统模块;
------------------------------------------------------------------------------------------------------
  1. 自定义模块
A . 模块组成
B. Npm
C. 发布自己的模块
 
// require —引入其他模块
// module - 批量输出
// exports - 单个对外输出
注意:
nodejs,引入自己的模块,路径加“./”;.js可省略;没有全局变量,自动包起来(function(require, expots, module){})();
True,  module.exports = exports;
 

 
npm:包管理器
  1. 统一下载途径
  2. 自动下载依赖
 
Npm install xx         安装
Npm uninstall xx     卸载
 

 
Node_modules ———放模块
 
require 1.若有’./’, 从当前模块找
  1. 没有,先从系统模块;再从Node_modules找
注意: 自定义模块统一放到Node_modules里
 

如何 发布自己的npm插件?
Npm注册帐号,
npm login
npm whoami
 
创建者:
npm init
发布:登录查询npm无重名包,npm publish, 再次发布注意更改版本号
删除: npm —force unpublish
(24小时内,否则邮箱申请删除)
 
使用者:
下载: npm install xx
更新:npm update xx
 
node 初学 
http://www.cnblogs.com/alice-fee/p/6159615.html
 
 

以上是关于node学习笔记的主要内容,如果未能解决你的问题,请参考以下文章

千锋Node.js学习笔记

千锋Node.js学习笔记

文件系统(node.js学习笔记)

NodeJS学习笔记之Node的模块

node.js学习笔记之简洁聊天室

node.js学习笔记之babel使用