Node-01
会 JavaScript,就能学会 Node.js!!!
**Node.js 的官网地址:
**
Node.js 的学习路径:
JavaScript 基础语法 + Node.js 内置 API 模块(fs、path、http等)+ 第三方 API 模块(express、mysql 等)
查看已安装的 Node.js 的版本号
打开终端,在终端输入命令 node –v 后,按下回车键,即可查看已安装的 Node.js 的版本号。
使用Node执行JS代码
REPL模式(了解)
node
> 这里写你的JS代码
Ctrl+C
Ctrl+C
这个模式,只适合,执行一些简单的JS代码
终端使用node命令执行js文件(推荐)
- vscode打开代码文件夹
- 在文件上右键–> 在终端中打开
- 好处是,终端中执行node命令的文件夹,已经定位好了,我们不用切换文件夹了
- 终端中,
node js文件
,回车
Node内置模块
fs 文件系统模块
内置模块,就相当于浏览器中的内置对象一样。都是对象,每个对象里面有很多方法和属性。
什么是 fs 文件系统模块
fs 模块是 Node.js 官方提供的、用来操作文件的模块。它提供了一系列的方法和属性,用来满足用户对文件的操作需求。
例如:
⚫ fs.readFile() 方法,用来读取指定文件中的内容
⚫ fs.writeFile() 方法,用来向指定的文件中写入内容
- fs – file system 文件系统
- 读取文件夹
- 读取文件
- 创建文件
- 写入文件
- …
- path
- querystring
- http
- …
如何使用内置模块
- 加载模块
const fs = require('fs')
;
- 调用模块的方法
fs模块(file system 文件系统)
-
fs.readFile() – 异步读取文件
fs.readFile(文件名, 'utf-8', (err, data) => {if (err) return console.log(err);data 就是读取的结果 });
-
fs.writeFile() – 异步写入文件
fs.writeFile(文件名, 内容, (err) => {});
- fs.readdir() – 异步读取文件夹(了解)
path模块
- path.join(__dirname, ‘文件名’);
- __dirname 是node内置的全局变量
// path -- 路径 const path = require('path');// path.join(路径1,路径2,路径3...); // 方法会把给出的路径拼接到一起// console.log( path.join('a', 'b', 'c') ); // a/b/c
// console.log( path.join('a', '/b/', 'c') ); // a/b/c
// console.log( path.join('a', '/b/', 'c', 'index.html') ); // a/b/c/index.html
// console.log( path.join('a', 'b', '../c', 'index.html') ); // a/c/index.html
// console.log(__dirname); // node自带的全局变量,表示当前js文件所在的绝对路径// 拼接成绩.txt的绝对路径
console.log( path.join(__dirname, '成绩.txt') ); // ------ 最常用的
__dirname 表示当前js文件所在的路径(绝对路径)
path.extname() – 找文件的后缀;了解 path.basename() – 找文件的文件名;了解
const path = require('path');// 找字符串中,最后一个点及之后的字符
// console.log( path.extname('index.html') ); // .html
// console.log( path.extname('a.b.c.d.html') ); // .html
// console.log( path.extname('asdfas/asdfa/a.b.c.d.html') ); // .html
// console.log( path.extname('adf.adsf') ); // .adsf// 找文件名
// console.log( path.basename('index.html') ); // index.html
// console.log( path.basename('a/b/c/index.html') ); // index.html
// console.log( path.basename('a/b/c/index.html?id=3') ); // index.html?id=3
console.log( path.basename('/api/getbooks') ); // getbooks
querystring模块
- querystring.parse() – 把查询字符串转成对象
- querystring.stringify() – 把对象转成查询字符串
const querystring = require('querystring');// querystring -- 查询字符串
/*** 什么是查询字符串* 发送请求的时候,携带的字符串参数* booksname=xxx&author=xxx*/let str = 'id=3&bookname=xiyouji&author=tangseng';// 一:把查询字符串转成对象let obj = querystring.parse(str);
// console.log(obj); // {id: '3', bookname: 'xiyouji', author: 'tangseng'}// 二:把对象转成查询字符串console.log( querystring.stringify(obj) ); // id=3&bookname=xiyouji&author=tangseng