我的前端学习之路<node.js>

node.js

认识node/node.js

官方解释:node.js是一个基于chrome v8 解析引擎的JavaScript运行环境
个人理解:软件
特点:没有图标
不能先打开,需要软件和文件一起运行(在黑窗口运行)

node为什么可以执行js

因为有chrome V8解析引擎
前端也可以执行js
node是把chrome中的解析引擎放在node身上

node的组成

前端js的组成
ECMAscript:语法标准
DOM:文档对象模型
BOM:浏览器对象模型
node组成
ECMAscript:语法标准
操作数据库的能力,书写后端能力(I/O模式)(输入输出流)
没有DOM和BOM

node的安装

安装在操作系统盘
检测:打开命令行窗口,输入 cmd 回车,
输入$ node–version
出现版本号即安装成功

node的卸载

打开控制面板 => 卸载程序 => 找到node => 右击卸载
node的命令行操作
没有图形化界面,没有可选的操作按钮

常用的指令:
切换盘符
	切换文件夹(去到下一个文件夹中):
	注意:必须在同一个盘符
	指令:cd 文件夹名称
回到上一个文件夹
	指令:cd ..
切换盘符
	指令:盘符:D: 或者是 d:
清屏指令
	作用:当内容足够多时,清除屏幕上的内容
	指令:cls
node执行js文件

执行方式
1,直接在黑窗口中执行
输入指令:$node 回车
不推荐
2,执行 .js 文件
注意:要找到要执行的 js 文件
在执行 .js 2文件的同一层级打开

node开发模式

1,就是把所有的代码都写入到js文件中
2,模块化开发

模块分类
自定义模块
	就是我们自己创建的每一个 .js 文件就是一个自定义模块 
内置模块
	node自带的
第三方模块
	既不是自己创建的也不是内置的,这样的模块称之为第三方模块
自定义模块

导出:在每一个js文件中,都有一个天生自带的变量,叫做:module
语法1:module.exports = 你要导出的对象
语法2:就是在node中每一个文件中还有一个变量,叫做exports
也是一个对象,保存的是module.exports的地址
如果是向对象中添加内容
1,module.exports.xxx = yyy
2,exports.xxx = yyy
导入:
语法:require(‘要导入的文件地址’)

内置模块 fs
作用:就是用来处理和文件或者文件夹相关的内容的一个模块,使用的时候直接导入
常用的方法
	readFile()
		语法:变量名.readFile('要读取的文件的路径','格式',回调函数)
		格式:默认Buffer格式,可以写utf-8 或者utf8
		回调函数:读取文件完毕(成功或者失败)后触发的函数
		作用:就是读取文件(异步读取)
	readFileSync()
		语法:变量名 .readFileSync('要读取的文件的路径','格式')
		作用:就是同步读取文件
		返回值:就是同步读取到的文件内容,如果失败,后续代码不执行
	writeFile()
		语法:变量名.writeFile('要写入的文件路径','写入内容','回调函数')
		作用:异步写入内容
		注意:完全覆盖式替换掉之前所有内容,如果没有这个文件会自动创建这个文件并写入内容
	writeFileSync()
		语法:变量名.writeFileSync('要写入的文件路径','写入内容')
内置模块http模块
作用:用来创建一个服务的,就是我们自己搭建一个服务器
如何创建
	创建服务
		语法:http.createServer(function(req,res))
			req(requuest):表示和本次请求相关的所有内容,在浏览器网址栏中输入的内容
			res(response):表示响应内容,即后端返回给前端的内容
	监听端口号
		语法:server.listen(端口号,函数)
内置模块path
作用:处理和路径相关的内容
常用方法
	join()
		语法:path.join('路径碎片','路径碎片',...)
		作用:把路径拼接成一个相对路径
		返回值:就是一个拼接好的相对路径
	resolve()
		语法:path.resolve('路径碎片','路径碎片',...)
		作用:把路径碎片拼接成一个绝对路径
		返回值:就是拼接好的一个绝对路径
	parse()
		语法:path.parse(一个路径)
		作用:对这个路径进行解析
		返回值:就是解析后的结果,是一个对象
内置模块url
主要作用:解析和请求地址相关的内容
导入内置模块
	const url = require('url')
常用方法
	parse()
		语法:url.parse(你要解析的地址,是否深度解析)
		默认值:false,表示不进行深度解析
		选填true,进行深度解析
		区别:进行深度解析以后query是一个对象,没有进行深度解析是一个字符串
请求

在浏览器地址栏中输入地址后回车

认识npm

npm
是一个包管理工具
:所有的第三方都叫做包
作用:帮助下载第三方,之前需要到官网下载,现在使

npm安装

检测安装
命令行工具,输入指令:npm --version 或 npm -v
卸载
随着node的卸载而卸载

npm的使用

1,初始化

找到项目根目录,开始执行指令
注意:项目名称不能是中文
输入指令: npm init
pickage name : 项目名称
version:版本号
description:项目描述
entry point:入口文件
test command:

git repository:表示将来要上传到git的仓库地址
keywords:项目描述关键字
author: 作者
license:(ISC)项目发行证书
*
这个时候会形成package.json的文件
用来记录项目信息和后期包的信息

2,下载包

打开命令行工具,切换到package.json文件所在地方
指令:== npm install 包名==
如果是首次下载,会出现一个node_modules的文件夹,里面保存所有的包
同时生成一个package.lock.json文件

3,查看包的版本信息

打开命令行工具
输入指令: npm view 包名 versions
如果输入的是==npm view 包名 version == 得到最新版本包的信息

4,下载指定版本包

打开命令行工具,切换到package.json文件所在地方
输入指令:== npm install 包名@版本号 ==

5,删除包

打开命令行工具,切换到package.json文件所在地方
输入指令:npm uninstall 包名 或 npm un 包名

6,一次性下载所有包

打开命令行工具,切换到package.json文件所在地方
输入指令:npm install 或 npm i
当执行这个指令时会自动访问package.json文件,根据里面的信息下载包

7,清除缓存

打开命令行工具,目录无所谓
输入指令:npm cache clean -f

8,切换镜像源

打开命令行工具
查看所有的镜像源地址:nrm ls
输入指令:npm config set registry 要使用的镜像源地址

第三方包的使用

别人写好的包
操作
下载
导入到要使用的文件中

开始操作(按照说明文档)

认识nodemon

问题:使用node执行js文件时只能执行一次
当js代码发生改变时,需要重新执行
安装:win: npm install --global nodemon
mac :== sudo npm install --global nodemon==
检测:
打开命令行窗口,目录无所谓
输入指令:nodemon -v
输入指令:nodemon --version
卸载
打开命令行窗口,目录无所谓
输入指令
win :== npm uninstall --global nodemon==
mac : sudo npm uninstall --global nodemon
使用:和之前执行js文件一样,但是执行一次即可

认识express

express是什么
是node的一个框架
是一个第三方
对原生node进行深度封装,直接使用里面方法,为了提供方便
使用:
下载:npm i express
导入对应的文件中使用

配置路由表

语法:express.Router()
向表中添加内容:
语法:router.get()
router.post()
使用路由表

中间件

就是express 的一概念
就是指任意两个环节中间的环节

中间件的分类
全局中间件
	作用再全局的中间件,任何一个环节都可以使用到的中间件
	语法:==sever.use(以什么开头,函数)==
		以什么开头:可以不写
		函数:需要接受三个参数
路由中间件
	就是使用在路由表上的中间件
	语法:router.use(以什么开头,函数)
请求级中间件
	就是在我们请求路由上,直接书写在处理函数之前就可以
错误中间件
	一般使用在全局
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值