nodejs基础

一、安装

nodejs 官网下载安装。

在控制台中输入node -v可以看到版本即安装完成。

nodejs安装完成

二、使用 Node 运行 JS 代码

使用终端,运行node 文件名.js来运行

image-20220706163328531

可以到终端看见

image-20220706163351122

三、fs 文件系统模块

(一)、 概述

fs 模块是 Node.js 官方提供的、用来操作文件的模块。提供了方法与数学满足用户操作文件的需求。

  • fs.readFile()用于读取指定文件中内容。

  • fs.write()用于向指定文件中写入内容。

(二)、 导入

1
const fs = require("fs");

即可导入 fs 文件系统模块。

(三)、 语法

    1. 读取方法

fs.readFile(path[, options],callback)

     参数一:必选参数,字符串,代表文件路径。

     参数二:可选参数,表示读取编码。

      参数三:必须参数,文件读取完成后的回调函数,其中有读取的结果。

1
2
const fs = require('fs');
fs.readFile('./test.txt','utf8',function)

例:

1
2
3
4
5
const fs = require("fs");
fs.readFile("test.txt", "utf8", (err, data) => {
if (err) throw err;
console.log(data);
});

当文件正常读取时,err 为 null。

     2. 写入方法

fs.writeFile(path,data[,options],callback)

1
2
3
4
const fs = require("fs");
fs.writeFile("test.txt", "写入的内容", (err) => {
if (err) throw err;
});

    3. 路径问题

  1. ./文件夹1/文件夹2/文件表示相对路径,指的是与当前命令行所处目录的相对路径。

  2. D:\\文件夹1\\文件夹2\\文件表示绝对路径,指的是当前电脑硬盘内文件的路径,移植性差。

  3. __dirname + /文件夹/文件表示当前 js 文件所处路径的相对路径,其中__dirname表示 js 文件所处根目录。

三、path 模块处理路径

path 模块是 Node.js 官方提供的、用来处理路径的模块。

(一)、导入

const path = require('path')

(二)、路径拼接

path.join()可以将多个路径片段拼接为完整的路径字符串。

1
2
3
const path = require("path");
const pathstr = path.join("/a", "/b/c", "../", "/d");
console.log(pathstr); //输出\a\b\d

(三)、获取路径中的文件名

  1. path.basename()语法模式

path.basename(path[,ext])

  • path<string>必选参数,表示一个路径的字符串。

  • ext<string>可选参数,表示文件扩展名。

例:

1
2
3
4
5
6
const path = require("path");
const pathstr = "/a/b/c/test.js";
var fullName = path.basename(pathstr);
console.log(fullName);
var extname = path.basename(pathstr, ".js");
console.log(extname);

输出:

1
2
test.js
test

四、http 模块

(一)、导入

const http = require('http')

(二)、创建实例

const server = http.createServer()

(三)、绑定 request 事件

1
2
3
server.on('request',function(req,res)){
console.log('My First Server');
}

(四)、启动服务器

1
2
3
server.listen(80, function () {
console.log("server running at http://127.0.0.1");
});

五、npm 包

(一)、包

包是由第三方个人或团队开发的,免费供所有人使用。

包由内置模块封装,提供了更高级、更方便的 API,提升了开发效率。

(二)、如何下载

npm 官网上可以搜索到任何需要的包。它提供了一个地址为https://registry.npmjs.org的服务器来共享所有的包。

(三)、包管理工具 npm

在终端中输入npm -v可看见 npm 版本。

(四)、使用 npm

  1. 安装包

npm install 包名[@版本号]npm i 包名[@版本号],此时会做当前目录下生成node_modules文件夹和package.json文件。

  1. 配置文件package.json中记录了项目中安装的所有包名,包版本。

  2. 快速创建package.json,执行npm init -y,只能在英文目录下执行,不要使用中文,不能出现空格。

  3. 当已有package.json文件时,执行npm i可以一次性安装package.json中的所有包。

  4. 卸载包

npm uninstall 包名会将包从package.jsonnode_modules中删除包。

  1. 若某些包只在项目开发阶段会用到,项目上线后不会用到,则将包记录到devDependencies中,若开发与线上都需要使用,则把包记录到dependencies节点中。

  2. 安装包到devDependenciesnpm i 报名 -D完整形式npm install 包名 --save-dev

(五)、解决下载慢问题

  1. 设置镜像源

国内 npm 淘宝镜像源服务器:https://registry.npmmirror.com

设置全局下载源 npm config set registry=https://registry.npmmirror.com/

  1. 安装 cnpm 工具

通过npm install -g cnpm --registry=https://registry.npmmirror.com命令全局安装 cnpm。

以后安装包使用cnpm i等(将 npm 替换为 cnpm)

学习地址:https://www.bilibili.com/video/BV1Zy4y1K7SH