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的前端工具集
环境配置
安装包的方式安装
更新版本
操作方式:
- 重新下载最新的安装包;
- 覆盖安装即可;
问题:
- 以前版本安装的很多全局的工具包需要重新安装
- 无法回滚到之前的版本
- 无法在多个版本之间切换(很多时候我们要使用特定版本)
NVM工具的使用
Node Version Manager(Node版本管理工具)
由于以后的开发工作可能会在多个Node版本中测试,而且Node的版本也比较多,所以需要这么款工具来管理
安装操作步骤
- 下载:nvm-windows
- 解压到一个全英文路径
编辑解压目录下的
settings.txt
文件(不存在则新建)root 配置为当前 nvm.exe 所在目录
path 配置为 node 快捷方式所在的目录
arch 配置为当前操作系统的位数(32/64)
proxy 不用配置
配置环境变量 可以通过 window+r : sysdm.cpl
NVM_HOME = 当前 nvm.exe 所在目录
NVM_SYMLINK = node 快捷方式所在的目录
PATH += %NVM_HOME%;%NVM_SYMLINK%;
- 打开CMD通过
set [name]
命令查看环境变量是否配置成功 - PowerShell中是通过
dir env:[name]
命令
NVM使用说明:
- 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 中使用