NodeJs
- 基本介绍
- 环境配置(node nvm,cnpm)
- REPL 环境(命令行) 运行js代码
- js文件执行
- nodemon实时监听
- 模块/包与commonjs 规范
- 内置
- 第三方
- 自定义
- 内置模块详解
- Url
- url 介绍
- parse
- format
- Query String
- parse
- stringfly
- escape
- unescape
- Http(爬虫)
- get
- requst
- cheerio
- Event
- Fs 文件操作
- Stream
客户端的JavaScript是怎样的
- 什么是 JavaScript?
+是一个脚本语言
+运行在浏览器(浏览器的js解析内核 v8)
+实现用户的交互 (interactive)
- 变量 赋值 循环 逻辑 判断 分支 对象 函数。。。。
- dom 操作
- bom 操作
- ajax
-
JavaScript 的运行环境?
+浏览器内核解析内核 es6 -
浏览器中的 JavaScript 可以做什么?
-
浏览器中的 JavaScript 不可以做什么?(不安全)
+访问数据库
+不能对文件进行操作
+对os 进行操作
+原因 是不安全 和浏览器运行机制有关 -
在开发人员能力相同的情况下编程语言的能力取决于什么?
+cordova hbuilder 平台 platform
+java java虚拟机 (运行平台)
+php php虚拟机
+c# .net framework mono
+js 解析内核 chrome v8
- JavaScript 只可以运行在浏览器中吗?
+不是
为什么是JavaScript
- node js 不是因为js 产生的
- node 选择了js
- Ryan dahl
- 2009 2 月份 node有想法
- 2009 5 月份 githup 开源
- 2009 11月份 jsconf 讲解推广node
- 2010年底 被xxx公司收购
- 2018 发布有重大bug
- npm ( npm 最大的开源 , 包管理器 ) https://www.npmjs.com/
- github 世界上最大的同性交友网站( github.com) 码云( gitee.com)
what is node ?
-
Node.js 是一个基于Chrome V8 引擎的JavaScript运行环境 王者
-
Node.js使用了一个事件驱动、非阻塞式I/O的模型,使其轻量又高效
-
事件驱动: 任务执行,发布者,订阅者,事件驱动 ( on emit )
-
非阻塞: 执行某一个任务的同时也可以执行其他任务
-
阻塞: 执行某一个任务,这个任务如果没有执行完成,其他任务必须等待
-
同步:
-
异步
-
I/O: 输入/输出( 数据库操作,文件系统操作等 )
-
非阻塞I/O模型: 当我们使用Node.js来实现数据库操作、文件系统等操作时,要进行的异步操作,异步操作的核心传统实现方式就是回调函数
-
Node.js的包管理工具npm,是全球最大的开源库生态系统
-
第三方: 国外的
-
建议: 切换国内的, 淘宝国内镜像源
-
nrm
-
安装cnpm
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
查看是否cnpm安装成功
cnpm -v
-
npm 插件官网:https://www.npmjs.com/
环境配置
Node的安装
- 安装包安装
- 官网下载对应的安装包
- 一路next
- nvm安装(有一个类似的工具:nvm)
-
Node Version Manager(Node版本管理工具)
-
由于以后的开发工作可能会在多个Node版本中测试,而且Node的版本也比较多,所以需要这么款工具来管理
-
默认安装结束之后,默认路径: C:\Users\xxx\AppData\Roaming\nvm
nvm安装教程博客:https://blog.csdn.net/qq_32682137/article/details/82684898
-
问题: 如果有的同学,任意目录不能使用nvm,只有在nvm安装目录下才能使用,那么就是环境变量有问题?
-
在高级环境变量中的系统变量中创建两个变量
- NVM_HOME
变量名: NVM_HOME 变量值: nvm安装目录路径 - NVM_SYMLINK
变量名: NVM_SYMLINK 变量值: Node.js的安装目录
- 在系统变量的path路径中将上面创建的变量引用进来
;%NVM_HOME%%NVM_SYMLINK%添加到系统变量 pth路径的后面
切记: 不要将path路径删除了
- nvm使用
nvm list 列出当前电脑中所有的Node.js的版本
nvm install version 安装某一个版本的Node.js ,
举例: 安装10.12.0版本 nvm install 10.12.0
nvm use version 切换某一个Node.js版本
切换后切记: 要确认Node运行输出正常
node -v
npm -v
如果以上两者输出正常,那么就切换成功了
如果不正常呢?换版本下载安装( 必须在8.9+ 以上)
相关版本
- node版本常识
- 偶数版本为稳定版 (0.6.x ,0.8.x ,0.10.x)
- 奇数版本为非稳定版(0.7.x ,0.9.x ,0.11.x)
- LTS(Long Term Support)
- LTS和Current区别
- 操作方式:
- 重新下载最新的安装包;
- 覆盖安装即可;
- 问题:
- 以前版本安装的很多全局的工具包需要重新安装
- 无法回滚到之前的版本
- 无法在多个版本之间切换(很多时候我们要使用特定版本)
Windows下常用的命令行操作
- 切换当前目录(change directory):cd
- 创建目录(make directory):mkdir
- 查看当前目录列表(directory):dir
- 别名:ls(list)
- 清空当前控制台:cls
- 别名:clear
- 删除文件:del
- 别名:rm
注意:所有别名必须在新版本的 PowerShell (linux系统)中使用
电脑:
cmd里面用的叫做 DOS命令
cmd终端唤醒: win键 + R , 输入cmd 回车
mkdir 创建目录
dir 列出当前目录的列表
cls 清空终端命令
del 删除某一个文件
git / powershell 用的是linux命令
mkdir 创建目录
ls 查看当前目录列表
clear 清空当前控制台
rm -rf 文件名称 删除某一个文件或是目录
两种类型的命令中, cd是一个意思
常见问题
- 环境变量丢失
- 部分电脑安装完毕之后没有环境变量需要手动配置
- Windows中环境变量分为系统变量和用户变量
- 环境变量的变量名是不区分大小写的
- PATH 变量:只要添加到 PATH 变量中的路径,都可以在任何目录下
- 目的可以在任何地方调起node命令
Node.js实时监听( 自动刷新 )
借助第三方工具实现:
nodemon 【 推荐 】
cnpm i nodemon -g
nodemon 文件名称
supervisor
cnpm i supervisor -g
supervisor 文件名称