Node 知识点 01

it2022-05-05  110

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(最新版)区别

客户端的JavaScript是怎样的

什么是 JavaScript? +是一个脚本语言 +运行在浏览器(浏览器的js解析内核 v8) +实现用户的交互 (interactive)

浏览器中的 JavaScript 可以做什么?

浏览器中的 JavaScript 不可以做什么?(不安全)

访问数据库

不能对文件进行操作

对os 进行操作

原因 是不安全 和浏览器运行机制有关

在开发人员能力相同的情况下编程语言的能力取决于什么?

cordova hbuilder 平台 platformjava java虚拟机 (运行平台)php php虚拟机c# .net framework monojs 解析内核 chrome v8JavaScript 只可以运行在浏览器中吗? 不是

为什么是JavaScript

node js 不是因为js 产生的node 选择了jsRyan dahl2009 2 月份 node有想法2009 5 月份 githup 开源2009 11月份 jsconf 讲解推广node2010年底 被xxx公司收购2018 发布有重大bugnpm ( 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

官网 :http://nodejs.cn/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安装目录下才能使用,那么就是环境变量有问题?

在高级环境变量中的系统变量中创建两个变量

1. NVM_HOME 2. 变量名: NVM_HOME 变量值:nvm安装目录路径 3. NVM_SYMLINK 4. 变量名: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+ 以上)

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是一个意思

Node.js实时监听( 自动刷新 )

借助第三方工具实现:

​ nodemon 【 推荐 】​ cnpm i nodemon -g​ nodemon 文件名称​ supervisor​ cnpm i supervisor -g​ supervisor 文件名称​ 模块,包 commonjs

模块的分类

初始化工程

$ npm init -y 默认配置

内置模块:

​ 以query string 这个内置模块为例,来学习Node.js中的内置模块的使用

​ querystring 是做字符串格式化

​ 格式: const/var/let 变量名 = require( 模块名 )

​ 使用api:

​ escape

将中文进行编码 const cityStr = 'city=北京' console.log( qs.escape( cityStr ) ) // city=北京

​ unescape

将中文解码 console.log( qs.unescape('city=北京') ) city:北京

​ parse

将字符串转为对象 let str = 'http://www.baidu.com/home?a=1&b=2#c=3' console.log( qs.parse( str ) ) { 'http://www.baidu.com/home?a': '1', b: '2#c=3' }

​ stringify

将对象转为字符串 [编码] const obj = { 'http://www.baidu.com/home?a': '1', b: '2#c=3' } console.log( typeof qs.stringify( obj ) ) http://www.baidu.com/home?a=1&b=2#c=3

​ 总结:

​ 内置模块直接引用

​ 引入后直接使用它的api

自定义模块:

1.创建模块

​ 对象、数组、字符串、函数

创建模块 const people = { card: 100, name: 'zhangsan', age: 20, sex: 'nan' }

2.导出模块

​ 模块导出1.建议用这种方法 module.exports = { people } //结果 zhangsan 模块导出2. module.exports = people //结果 zhangsan

3.引入模块并使用

模块的引入 const { people } = require('./02-my-self') //切记这里是相对路径 // 直接使用 console.log( people.name )

最新回复(0)