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使用说明:
node的包管理工具
- NPM的目录之后使用再配置
7.nvm常用命令
- nvm 查看当前的运行的版本
- nvm ls 查看当前安装的版本以及使用的版本
- nvm use 9.0.0使用当前版本
- node -v 查看当前使用的版本
- npm -v 打印npm的版本
- nvm install ## 安装指定版本,可模糊安装,如:安装v4.4.0,既可nvm install v4.4.0,又可nvm install 4.4
- nvm uninstall ## 删除已安装的指定版本,语法与install类似
- nvm use ## 切换使用指定的版本node
- nvm ls ## 列出所有安装的版本
- nvm ls-remote ## 列出所以远程服务器的版本(官方node version list)
- nvm current ## 显示当前的版本
- nvm alias ## 给不同的版本号添加别名
- nvm unalias ## 删除已定义的别名
- nvm reinstall-packages ## 在当前版本node环境下,重新全局安装指定版本号的npm包
8.node常用命令(参考nvm常用命令)
9.npm常用命令(node的包管理工具)
- npm install [-g] 本地或全局安装模块
- npm install bootstrp --save (会在package.json文件中添加一个dependencies)这样传文件的时候就只传package.json就行了
- npm uninstall [-g] 本地或全局卸载模块
- npm init 初始化操作,给项目添加一个配置文件
- npm init --yes 参数走默认配置
- npm update 更新模块
- npm ls 查看安装的模块
- npm list 列出已安装模块
- npm show 显示模块详情
- npm info 查看模块的详细信息
- npm search 搜索模块
- npm publish 发布模块
- npm unpublish 删除已发布的模块
- npm -v 或 npm version显示版本信息
- npm view npm versions 列出npm 的所有有效版本
- npm install -g npm@2.14.14 /npm update -g npm@2.14.14 安装指定的npm版本
- npm init 引导创建一个package.json文件,包括名称、版本、作者这些信息等
- npm outdated #检查模块是否已经过时
- npm root [-g] 查看包的安装路径,输出 node_modules的路径,
- npm help 查看某条命令的详细帮助 例如输入npm help install
- npm config 管理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 中使用