node入门级教程

649 阅读3分钟

nodejs是什么?

Node.js 是一个基于 Chrome V8 引擎的 JavaScirpt 运行环境。

Node.js不是一门新的语言

Node.js不是一个库、框架。

Node.js是一个JavaScript运行时环境。

Node.js可以解析和执行JavaScript代码

以前只有浏览器可以解析执行JavaScript代码

现在JavaScript可以完全脱离浏览器的运行,一切都归功于,Node.js

浏览器中的JavaScript

EcmaScript:js的基本语法规则,例如:if、var、function、Object、Array

BOM

DOM

node.js中的JavaScript

没有BOM、DOM

EcmaScript语法

在Node这个JavaScript执行环境中为JavaScript提供了一些服务器级别的操作API

  1. 读写文件
  2. 网络服务的构建
  1. 网络通信
  2. http服务器

构建于chrome的V8引擎智商

  1. 代码只是具有特定格式的字符串而已
  2. 引擎可以认识它,引擎可以帮你去解析和执行
  1. Google Chrome 的V8引擎是目前工人的解析执行JavaScript代码最快的
  2. Node.js的作者把Google Chrome 中的V8引擎移植了出来,开发了一个独立的JavaScript运行时环境。

node.js的特点

event-driven 事件驱动

non-blocking I/O model 非阻塞IO模型(异步)

lightweight and efficient 轻量和高效

node.js有完整的生态系统

node内置npm命令,npm是世界上最大的开源生态系统

绝大多数与JavaScript相关的包都存放在npm,方便开发人员更方便的去下载和使用

例如:npm install jquery

node.js能做什么

web服务器后台

开发命令行工具

npm

hexo

这门课的主要内容

B/S编程模型

  1. Brower-Server
  2. back-end
  1. 任何服务器技术这种BS编程模型都是一样,和语言无关
  2. Node是作为我们学习BS编程模型的一个工具

模块化编程

  1. RequireJS
  2. SeaJS
  1. @import('文件路径') // css文件引入
  2. 以前认知的JavaScript只能通过script标签来加载
  1. 在Node中可以像@import()一样来引用加载JavaScript脚本文件,因为浏览器是不认识import和export

Node常用API

异步编程

  1. 回调函数
  2. Promise
  1. async
  2. generator

Express开发框架

Koa开发框架

Node.js的安装

//查看自己电脑当前的node版本
node --version

node的下载地址

nodejs.org/en/

左边的是稳定版,右边是最新特性版,

在公司选择稳定版,学习可以安装最新特性版

node执行js文件

创建一个helloworld.js的文件

var hello = 'Hello World'
console.log(hello)
node helloworld.js

执行结果

在node.js中是没有bom和dom

但是有global

console.log(document)
console.log(window)
console.log(global)

node.js如何读写文件

读取文件

var fs = require('fs');

fs.readFile('./world.txt',function(error,data) {
  //<Buffer e4 bd a0 e5 a5 bd>输出十六进制数据
  console.log(data);
  //需要toString()转化成我们能看懂的数据
  console.log(data.toString());
})

写入文件

var fs = require('fs');

fs.writeFile('./你好.md','你好哈哈哈哈',function(error) {
  if(error){
    console.log('写入失败')
  } else {
    console.log('写入成功')
  }
})

http模块

http.js

// 引入http模块
var http = require('http');


//使用http.createServer() 创建一Web服务器
//返回一个Server实例
var server = http.createServer();
// 当客户端请求过来,就会自动触发服务器的request请求时间,然后执行第二个参数:回调处理
server.on('request',function(resquest,response) {
  // 获取浏览器请求地址
  console.log(resquest.url);
  // 返回的文字
  response.write('hello ');
  response.write('world');
  // 必须要写上,否则不能结束返回,不能加载资源
  response.end()
})

//绑定端口号,启动服务器

server.listen(3000,function() {
  console.log('服务器启动成功了,可以通过http://127.0.0.1:3000/来进行访问');
})