Node 知识点 01

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 平台 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

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%3D%E5%8C%97%E4%BA%AC 
    
  • ​ unescape

      将中文解码 console.log( qs.unescape('city%3D%E5%8C%97%E4%BA%AC') )
      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%3A%2F%2Fwww.baidu.com%2Fhome%3Fa=1&b=2%23c%3D3 
    

​ 总结:

​ 内置模块直接引用

​ 引入后直接使用它的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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值