Node.js
一. 思考
-
JS 为啥会在浏览器中执行
JS 在不同的浏览器中执行 ,因为浏览器中有各自的JS解析引擎
Chrome --> V8 性能最好
Firefox --> OdinMonkey
Safri --> JSCore
IE --> Chakra
…
-
JS 为啥可以操作DOM BOM
浏览器都内置了DOM和BOM 的api,浏览器中的JavaScript 才可以调用他们
-
JS 浏览器中运行的环境
例如 Chrome 浏览器运行环境: V8 引擎、内置的API BOM DOM Canvas等
-
JS 能否做后端开发 JS 运行在 Node.js 中 做后端开发
二. Node.js 简介
-
什么是Node.js
Node.js 是基于Chrom V8 引擎的JavaScript 运行环境
-
Node.js 的JS 运行环境
V8引擎 + fs path、http等 内置api
浏览器是JavaScript 的前端运行环境
Node.js 是JavaScript 的后端运行环境
Node.js 中无法调用都DOM 和BOM 的 等浏览器的内置api
- Node.js 可以做啥
Node js 仅仅提供了基础的功能和Api 然而 基于Node的很多强大的工具和框架出现,Express
构建WEB应用 Electron
构建跨平台的桌面应用,restify
快速构建api 接口项目等
-
Node 怎么学
JS基础语法–》Node.js 内置api模块 --》第三方api (express、koa等)
三. 下载与安装
LTS 版本 稳定版
Current版本 尝鲜版
cmd node -v 查看版本
- 终端:人机交互的一种方式
node 环境中执行js代码 node xxx.js
Linux esc键 清空当前的输入
四. FS 文件模块
- 是Node.js中官方提供的、用来操作的文件的模块。他提供了一系列的方法和属性,用来满足用户对文件的操作需求
fs.readFile() 方法 读取文件
fs.writeFile() 方法 写入文件
导入 fs模块 const fs = require('fs')
-
readFile
readFile(path[, options], cllaback)
path 文件路径 必选
[] 编码格式读取文件 可选
默认UTF-8
callback 回调函数 拿到读取成功和失败的结果
读取成功 (fun(err,dataStr))err为null
读取失败 err为 错误对象 dataStr undefined
-
writeFile
writeFile(file,date[, options], callback)
1》文件路径
2》内容
3》可选的编码格式
4》回调函数
-
判断文件
if(err) 读取/写入失败 else 读取/写入成功
err判断是否读取/写入文件成功
-
fs 路劲动态拼接
./或者…/ 路径可能出问题: 代码执行时会以执行node命令时所处的目录,动态拼接出被操作文件的完整路径(例如执行 node .\demo\xxx.js 在src\ 执行,js中读取文件路径 readFile(‘./xxx.txt’), xxx.txt实际路径为 src\demo\xxx.txt ,此时执行 node .\demo\xxx.js 报错 ,他会拼接的路径为 src\xx.txt
解决问题 路径要写绝对路径 不要写 ./ 或者…/ 的相对路径-- 移植性很差 不利于维护
__dirname
表示当前文件所处的目录 用__dirname
加相对路径 拼接解决问题