首页 > 技术文章 > node笔记汇总

JavascriptAndHtml5 2018-08-11 17:31 原文

# Node服务器端开发第一天

> Node简介及配置、快速上手、核心特点、模块化

## Node简介

### 客户端的JavaScript是怎样的

- 什么是 JavaScript?
+ 脚本语言
+ 运行在浏览器中
+ 一般用来做客户端页面的交互(Interactive)

- JavaScript 的运行环境?
+ 是不是运行在浏览器呢?
+ 不够严谨
+ 运行在浏览器内核中的 JS 引擎(engine)

- 浏览器中的 JavaScript 可以做什么?
+ 操作DOM(对DOM的增删改、注册事件)
+ AJAX/跨域
+ BOM(页面跳转、历史记录、console.log()、alert())
+ ECMAScript

- 浏览器中的 JavaScript 不可以做什么?
+ 文件操作(文件和文件夹的CRUD)
+ 没有办法操作系统信息
+ 由于运行环境特殊(我们写的代码是在不认识的人的浏览器中运行)

- 在开发人员能力相同的情况下编程语言的能力取决于什么?
+ -语言本身?-
+ 语言本身只是提供定义变量,定义函数,定义类型,流程控制,循环结构之类的操作
+ 取决于运行该语言的平台(环境)
+ 对于JS来说,我们常说的JS实际是ES,大部分能力都是由浏览器的执行引擎决定
+ BOM和DOM可以说是浏览器开放出来的接口
+ 比如:Cordova中提供JS调用摄像头,操作本地文件的API

+ Java既是语言也是平台
+ Java运行在Java虚拟机(跨操作系统)
+ PHP既是语言也是平台(跨操作系统)

+ C#语言平台:.NET Framework(Windows)
+ C#可以运行在MONO这样的平台
+ 因为有人需要将C#运行在Linux平台,所有出现了MONO


- JavaScript 只可以运行在浏览器中吗?
+ 不是
+ 能运行在哪取决于,这个环境有没有特定平台


### 什么是Node

- Node 就是 JavaScript 语言在服务器端的运行环境
- 所谓“运行环境(平台)”有两层意思:
+ 首先,JavaScript 语言通过 Node 在服务器运行,在这个意义上,Node 有点像 JavaScript 虚拟机;
+ 其次,Node 提供大量工具库,使得 JavaScript 语言与操作系统互动(比如读写文件、新建子进程),在这个意义上, Node 又是 JavaScript 的工具库。



### 为什么是JavaScript




### Node的实现结构




### Node在当下Web开发领域的应用




### 哪些公司在用




### 重点理解

- Node是一个JavaScript的运行环境(平台),不是一门语言,也不是JavaScript的框架;
- Node的实现结构;
- Node可以用来开发服务端应用程序,Web系统;
- 基于Node的前端工具集





*****

## 环境配置

### 安装包的方式安装

- 安装包下载链接:
+ Mac OSX: [darwin](http://npm.taobao.org/mirrors/node/v5.7.0/node-v5.7.0.pkg)
+ Windows:
* [x64](http://npm.taobao.org/mirrors/node/v5.7.0/node-v5.7.0-x64.msi)
* [x86](http://npm.taobao.org/mirrors/node/v5.7.0/node-v5.7.0-x86.msi)
- 安装操作:
+ 一路*Next*


### 更新版本

- 操作方式:
+ 重新下载最新的安装包;
+ 覆盖安装即可;
- 问题:
+ 以前版本安装的很多全局的工具包需要重新安装
+ 无法回滚到之前的版本
+ 无法在多个版本之间切换(很多时候我们要使用特定版本)



### NVM工具的使用

> Node Version Manager(Node版本管理工具)

由于以后的开发工作可能会在多个Node版本中测试,而且Node的版本也比较多,所以需要这么款工具来管理


#### 安装操作步骤

1. 下载:[nvm-windows](https://github.com/coreybutler/nvm-windows/releases/download/1.1.0/nvm-noinstall.zip)
2. 解压到一个全英文路径
3. 编辑解压目录下的`settings.txt`文件(不存在则新建)

+ `root 配置为当前 nvm.exe 所在目录`
+ `path 配置为 node 快捷方式所在的目录`
+ `arch 配置为当前操作系统的位数(32/64)`
+ `proxy 不用配置`

4. 配置环境变量 可以通过 window+r : sysdm.cpl

+ `NVM_HOME = 当前 nvm.exe 所在目录`
+ `NVM_SYMLINK = node 快捷方式所在的目录`
+ `PATH += %NVM_HOME%;%NVM_SYMLINK%;`
+ 打开CMD通过`set [name]`命令查看环境变量是否配置成功
+ PowerShell中是通过`dir env:[name]`命令

5. NVM使用说明:

+ https://github.com/coreybutler/nvm-windows/

6. NPM的目录之后使用再配置


### 配置Python环境

> Node中有些第三方的包是以C/C++源码的方式发布的,需要安装后编译
> 确保全局环境中可以使用python命令




### 环境变量的概念

> 环境变量就是操作系统提供的系统级别用于存储变量的地方

- Windows中环境变量分为系统变量和用户变量
- 环境变量的变量名是不区分大小写的
- 特殊值:
+ PATH 变量:只要添加到 PATH 变量中的路径,都可以在任何目录下搜索



### Windows下常用的命令行操作

- 切换当前目录(change directory):cd
- 创建目录(make directory):mkdir
- 查看当前目录列表(directory):dir
+ 别名:ls(list)
- 清空当前控制台:cls
+ 别名:clear
- 删除文件:del
+ 别名:rm

> 注意:所有别名必须在新版本的 PowerShell 中使用



*****

## 快速上手












推荐阅读