Node.js学习笔记一

一、Node.js介绍

1.1 简单介绍

C/S模式

在客户端浏览器发起请求

Web后台服务器

数据库

全栈开发工程师

学习Node.js的目的:帮助大家了解服务端这个黑盒子,只有了解服务端才能更好地配合

服务端开发人员更好地进行开发

基本的网站开发能力

  • 服务端
  • 前端
  • 运维部署

多人社区

采用Javascript进行编程

凡是能用Javascript实现的,

最终都会用Javascript实现

1.2 Node.js是什么
  • Node.js不是一门语言,不是库,不是框架

  • Node.js是一个Javascript运行环境

  • 简单来说,Node.js可以解析和执行Javascript代码

  • 以前只有浏览器可以解析执行Javascript代码,现在的Javascript代码可以完全脱离浏览器运行

  • 浏览器中的Javascript

    • EcmaScript
      • 基本语法
      • if
      • var
      • function
      • Object
      • Array
    • BOM
    • DOM
  • Node.js中的Javascript

    • 没有BOMDOM
    • ECMAScript
    • 在Node这个Javascript执行环境中未Javascript提供了一些服务器级别的操作API
      • 例如文件读写
      • 网路服务的构建
      • 网络通信
      • http服务器
    • 构建于Chrome的V8引擎上
      • 代码只是具有特定格式的字符串
      • 引擎可以认识它,引擎可以帮你取解析和执行
      • Chrome浏览器的V8引擎是目前公认的解析执行的Javascript代码最快的引擎
    • event-driven 事件驱动
    • non-blocking I/O model 非阻塞IO模型(异步)
    • lightweight and efficient 轻量和高效
    • Node.js的生态系统npm:node package manager
      • npm是世界上最大的开源库生态系统
      • 绝大多数Javascript相关的包都存放在了npm上,这样做的目的是让开发人员更方便地使用
      • npm install …
1.3 Node.js能做什么
  • Web服务器后台
  • 命令行工具
    • npm(node)
    • git(c语言)
    • hexo(node)
  • 接口服务器/游戏服务器
  • 对于前端开发工程师,接触node最多的是它的命令行工具
    • webpack
    • gulp
    • npm
    • 自己写的很少,主要是第三方的
1.4 预备知识
  • HTML/CSS/Javascript
  • 简单命令行工作
    • cd
    • dir
    • Is
    • mkdir
    • rm
1.5 一些资源
  • 《深入浅出Node.js》
    • 偏理论,理解底层原理有帮助
  • 《Node.js权威指南》
    • API讲解,没有业务和实战
  • Javascript标准参考教程:http://javascript.ruanyifeng.com/
  • Node入门:http://www.nodebeginner.org/index-zh-cn.html
  • 官方API文档:http://nodejs.org/dist/latest-v6.x/docs/api/
  • CNODE社区:http://cnodejs.org
  • CNODE-新手入门:http://cnodejs.org/getstart
  • 中文文档:http://www.nodeclass.com/api/node.html
1.6 这么课程学到的知识
  • B/S编程模型
    • Browser-Server
    • back-end
  • 模块化编程
  • Node常用API
  • 异步编程
    • 回调函数
    • Promise
    • async
    • generator
  • Express开发框架
  • Ecmascript 6
  • 学习Node不仅会帮助大家打开服务器端黑盒子,还可以帮助学习前端高级内容
    • Vuejs
    • React
    • Angular

二、起步

2.1 安装Node环境
  • https://nodejs.org/en/download/
  • Node环境是否安装成功
    • node --version
    • node -v
  • 环境变量
2.2 Hello World
  1. node 文件名执行对应文件
  2. 不要使用中文
  3. 不要采用node.js来命名
  4. 升级:http服务
    • 最简单的http服务

三、Node中的JavaScript

  • EcmaScript
    • 没有DOM、BOM
  • 核心模块
  • 第三方模块
  • 用户自定义模块
3.1 核心模块

Node为Javascript提供了很多服务器级别的API,这些API绝大多数被包装到了一个具名的核心模块中,例如文件操作的fs核心模块,http服务构建的服务器模块,path路径操作模块,os操作系统信息模块。。。。

以后只要一个模块是核心模块,如果要使用它,就必须先使用require方法加载才能使用

var fs = require('fs')
var http = require('http')
3.2 用户自定义模块
  • require
  • exports
3.3 第三方模块

四、Web服务器开发

4.1 ip地址和端口号
  • ip地址用来定位计算机
  • 端口号用来定位具体应用程序
  • 一切需要联网通信的软件都会占用一个端口号
  • 端口的范围从0-65535之间
  • 在计算机中有一些默认端口号,最好不要使用
    • 例如http服务的80
  • 在开发过程中可以使用3000、5000等好记并没有什么含义的端口号
  • 可以同时开启多个服务,但一定要确保不同服务占用的端口号不一致才可以
4.2 Content-Type
  • http://tool.oschina.net/
4.3 代码风格补充
  • Javascript Standard Style[https://standardjs.com]
  • Airbnb Javascript Style

参考链接

你可能感兴趣的:(node.js学习笔记,node.js,javascript)