-
node.org查看全部
-
查看全部
-
http知识九
查看全部 -
http知识八
查看全部 -
http知识七
查看全部 -
http知识六
查看全部 -
http知识
查看全部 -
node自带
querystring.stringify(a,b,c) 将json类型的参数转换成字符串
a:json参数 b:键值对分隔符 c:键值分隔符 querystring.stringify( {name:'echo', course:['jade','node'],form:''}, ',',':'); 运行结果: 'name:echo,course:jade, course:node,form:'
querystring.parse(a,b,c)将字符 串参数转换成json类型 注:参数和上处方法类似
查看全部 -
url.parse(a,b,c)接受三个参数
a:一个网址
url.parse('http://imooc.com/course/list?from=echo&num=1')
结果如下:
Url {
protocol: 'http:',
slashes: true,
auth: null,
host: 'imooc.com',
port: null,
hostname: 'imooc.com',
hash: null,
search: '?from=echo&num=1',
query: 'from=echo&num=1',
pathname: '/course/list',
path: '/course/list?from=echo&num=1',
href: 'http://imooc.com/course/list?from=echo&num=1' }
>
b:布尔值,默认为false,为true时,可将query解析成json对象
url.parse('http://imooc.com/course/list?from=echo&num=1',true)
结果如下:
Url {
protocol: 'http:',
slashes: true,
auth: null,
host: 'imooc.com',
port: null,
hostname: 'imooc.com',
hash: null,
search: '?from=echo&num=1',
query: { from: 'echo', num: '1' },
pathname: '/course/list',
path: '/course/list?from=echo&num=1',
href: 'http://imooc.com/course/list?from=echo&num=1' }
c:默认为false,为true时,可解析不知协议的URL
如:
url.parse('//imooc.com/course/list',true,true)
结果如下:
Url {
protocol: null,
slashes: true,
auth: null,
host: 'imooc.com',
port: null,
hostname: 'imooc.com',
hash: null,
search: null,
query: {},
pathname: '/course/list',
path: '/course/list',
href: '//imooc.com/course/list' }
查看全部 -
模块的流程
查看全部 -
模块的分类
查看全部 -
@url网址解析:
【url与uri】
>uri:Uniform Resource Identifier,统一资源标识符,字符串格式规范
>url:Uniform Resource Locator,统一资源定位符
url是uri的子集,url肯定是uri,uri不一定是url。
【parse format reslove】
>url.parse():将url字符串转化为url对象
eg:url.parse('https://www.imooc.com:8080/video/6710?from=scott&course=node#floor1')
url.parse('//imooc.com/video/6710/0',true,true)--第一个true时,query被转换为一个对象
url.parse('https://www.imooc.com:8080/video/6710?from=scott&course=node#floor1') ==> query: 'from=scott&course=node', ==> query: { from: 'scott', course: 'node' },
>url.format():将url对象格式化为url字符串
eg:url.format({protocol: 'https:',})
>url.resolve():用于解析,接受两个参数拼接
eg:url.resolve('https://www.imooc.com/','/video/6710/0')Url { protocol: 'https:', //协议 slashes: true, //是否有协议的双斜线 auth: null, host: 'www.imooc.com', //服务器iip地址 port: null, //端口 hostname: 'www.imooc.com', hash: null, //哈希值 search: null, //查询字符串参数 query: null, //发送给服务器的数据 pathname: '/video/6710/0', path: '/video/6710/0', href: 'https://www.imooc.com/video/6710/0' }
查看全部 -
nodejs实现高并发、大规模的运行特性
nodejs.api文档中文版http://nodejs.cn/api/
查看全部 -
@模块分类:
>核心模块:http fs path..
>文件/本地模块:var util=require('./util.js')
>npm第三方模块:var promise=require('bluebird')
模块的引用>>路径引用 模块名引用(最终也会被映射为路径)
包含核心函数的核心模块会在node启动时被预先加载,非核心及第三方模块在之后加载
NodeJs文件和模块一对一对应关系
查看全部 -
CommonJs规范可参考:http://javascript.ruanyifeng.com/nodejs/module.html
@模块与包管理工具
js的天生缺陷——缺少模块化管理机制
·表现>> JS中容易出现变量被覆盖,方法被替代的情况(既被污染)。特别是存在依赖关系时,容易出现错误。这是因为JS缺少模块管理机制,来隔离实现各种不同功能的JS判断,避免它们相互污染。
·解决>> 经常采用命名空间的方式,把变量和函数限制在某个特定的作用域内,人肉约定一套命名规范来限制代码,保证代码安全运行。jQuery中有许多变量和方法,但是无法直接访问,必须通过jQuery,$调用 各个方法。
【Commonjs规范】
不同于jQuery,Commonjs是一套规范,约定了js如何组织,如何编写,包括包,二进制,套接字,单元测试等等。大部分标准在拟定和讨论之中,首先把执行不同任务的代码块和代码文件看为独立的模块,每一个模块都是一个单独的作用域,但不是孤立的,可能存在依赖关系。每个模块分为三个部分,定义、标识和引用。这套规范与现实产品如node.js相互影响,良性循环。
【NodeJs的模块管理机制】
基于commonjs实现了模块管理系统。node中每一个js文件都是一个独立的模块,在其内部不需要有命名空间,不需要担心变量的污染和方法定义时的隔离。同时模块之间可以组合形成更强大的模块或功能包。npm即是用来管理各种功能包的。查看全部
举报