Node.js学习

node.js是由chrome浏览器v8引擎c++编写的,本质是js的运行环境

特点:(1)可以解析JS代码(没有浏览器安全级的限制)

(2)提供系统级别的API:

1、文件的读写

2、进程的管理

3、网络的通信

学习网站

node.org

npm 

github

stackoverflow

一、node.js的版本

偶数位为稳定版  奇数为非稳定版本

-0.6x        -0.7x

-0.8x        -0.9x

...

二、安装node

1、安装node.js
2、npm install -g cnpm --registry==https://registry.npm.taobao.org
3、cnpm install --global vue-cli  回车 验证是否安装成功  输入vue
4、创建新的项目输入命令:
vue init webpack my-project   
cd my-project
cnpm install
cnpm run dev

三、模块:定义、标识、引用  从Commonjs

模块分类:
(1)核心模块  http fs path...

(2)文件模块 var util = require("/.util.js")

(3)第三方模块 var promise = require("bluebird")

模块的流程

(1)创建模块   teacher.js

(2)导出模块   exports.add = function(){}

(3)加载模块  var teacher = require('./teacher.js')

(4)使用模块  teacher.add('Scott');

CommonJS模块规范和ES6模块规范

module.exports与exports、export与export default之间的关系和区别

每一个node.js执行文件,都自动创建一个module对象,同时,module对象会创建一个叫exports的属性,初始化的值是{}

module.exports = {};

exports引用的是module.exports的值,module.exports被改变的时候,exports不会被改变,例如:

1、foo.js

exports.a = function(){

  console.log('a');

}

module.exports = {a:2}

exports.a =1

test.js

var x = require('./foo');

console.log(x.a)

result:  2

exports在module.exports被改变后,失效

2、只有静态方法的时候,才能够被调用,prototype创建的方法,则属于函数的私有方法

例:

foo.js

function View(){

  

}

View.prototype.test = function(){

   console.log('test');

}

View.test1 = function(){

  console.log('test1');

}

module.exports = View

test.js

var x = require('./foo');

console.log(x)   // {  [Function:View]  test1:[Function] }

console.log(x.test) //undefined

console.log(x.test1) //[Function]

x.test1() //test1

 

扩展 js中何为静态方法、对象方法、实例方法

function Fn(){

  this.hello = function(){

    console.log('实例方法');

  }

}

Fn.hello = function(){

  console.log('静态方法');

}

Fn.prototype.hello = function(){

  console.log('实例共享方法(对象方法)')

}

 四、node.js API

url 

url.parse():将url字符串转换为url对象

url.format():将url对象格式化为url 字符串

url.resolve():用于解析,接受两个参数,拼接

queryString

1.query.stringify({url,from:参数},'&','=')第二个参数表示url中的参数通过什么字符连接,第三个参数表示url中的参数值是通过什么字符赋值,上面为默认值 2.同理query.parse('数据','&','=')做传化成url的时候,用处与上面一样;

http

浏览器后计算机 访问一个 地址的大概操作步骤
1. 浏览器(如Chrome)搜索自身的DNS 缓存
2. 搜索操作系统自身的DNS缓存(浏览器没有找到缓存或缓存已经失效)
3. 读取本地的 HOST 文件
4. 浏览器 发起一个DNS 的 一个系统调用
5. 浏览器获得域名对应的 IP 地址后,发起 HTTP 的“三次握手?”
6. TCP/IP 连接建立起来后,浏览器就可以向服务器发送 HTTP 请求了,例如使用 HTTP 的 GET 方法请求一个根域里的一个域名,协议可以采用 HTTP 1.0 的一个协议。

五、Promise

转载于:https://www.cnblogs.com/yyxh/p/8931907.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值