Node.js是一个Javascript运行环境(runtime),发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。Node.js对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。
why?
1.性能 2. js配合紧密 , 3.便于前端学习 安装
1.preparing:
- c:
- cd 文件名
- 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 数据解析
很大--分段
- data --有一段数据到达(n)
- 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
- 系统模块:
Crypto 加密
Events 事件
Net 网络操作
OS 操作系统信息
Path 处理文件路径
Stream 流操作
Timers 定时器 interval settimeout
Zip 压缩
Util工具 VM虚拟机
Require 使用, 引入系统模块;
------------------------------------------------------------------------------------------------------
- 自定义模块
A . 模块组成
B. Npm
C. 发布自己的模块
// require —引入其他模块
// module - 批量输出
// exports - 单个对外输出
注意:
nodejs,引入自己的模块,路径加“./”;.js可省略;没有全局变量,自动包起来(function(require, expots, module){})();
True, module.exports = exports;
npm:包管理器
- 统一下载途径
- 自动下载依赖
Npm install xx 安装
Npm uninstall xx 卸载
Node_modules ———放模块
require 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