nodejs基础
一、安装
到nodejs 官网下载安装。
在控制台中输入node -v
可以看到版本即安装完成。
二、使用 Node 运行 JS 代码
使用终端,运行node 文件名.js来运行
可以到终端看见
三、fs 文件系统模块
(一)、 概述
fs 模块是 Node.js 官方提供的、用来操作文件的模块。提供了方法与数学满足用户操作文件的需求。
fs.readFile()
用于读取指定文件中内容。fs.write()
用于向指定文件中写入内容。
(二)、 导入
1 | const fs = require("fs"); |
即可导入 fs 文件系统模块。
(三)、 语法
1. 读取方法
fs.readFile(path[, options],callback)
参数一:必选参数,字符串,代表文件路径。
参数二:可选参数,表示读取编码。
参数三:必须参数,文件读取完成后的回调函数,其中有读取的结果。
1 | const fs = require('fs'); |
例:
1 | const fs = require("fs"); |
当文件正常读取时,err 为 null。
2. 写入方法
fs.writeFile(path,data[,options],callback)
1 | const fs = require("fs"); |
3. 路径问题
./文件夹1/文件夹2/文件
表示相对路径,指的是与当前命令行所处目录的相对路径。D:\\文件夹1\\文件夹2\\文件
表示绝对路径,指的是当前电脑硬盘内文件的路径,移植性差。__dirname + /文件夹/文件
表示当前 js 文件所处路径的相对路径,其中__dirname
表示 js 文件所处根目录。
三、path 模块处理路径
path 模块是 Node.js 官方提供的、用来处理路径的模块。
(一)、导入
const path = require('path')
(二)、路径拼接
path.join()
可以将多个路径片段拼接为完整的路径字符串。
1 | const path = require("path"); |
(三)、获取路径中的文件名
path.basename()
语法模式
path.basename(path[,ext])
path<string>必选参数,表示一个路径的字符串。
ext<string>可选参数,表示文件扩展名。
例:
1 | const path = require("path"); |
输出:
1 | test.js |
四、http 模块
(一)、导入
const http = require('http')
(二)、创建实例
const server = http.createServer()
(三)、绑定 request 事件
1 | server.on('request',function(req,res)){ |
(四)、启动服务器
1 | server.listen(80, function () { |
五、npm 包
(一)、包
包是由第三方个人或团队开发的,免费供所有人使用。
包由内置模块封装,提供了更高级、更方便的 API,提升了开发效率。
(二)、如何下载
从npm 官网上可以搜索到任何需要的包。它提供了一个地址为https://registry.npmjs.org的服务器来共享所有的包。
(三)、包管理工具 npm
在终端中输入npm -v
可看见 npm 版本。
(四)、使用 npm
安装包
npm install 包名[@版本号]
或npm i 包名[@版本号]
,此时会做当前目录下生成node_modules
文件夹和package.json
文件。
配置文件
package.json
中记录了项目中安装的所有包名,包版本。快速创建
package.json
,执行npm init -y
,只能在英文目录下执行,不要使用中文,不能出现空格。当已有
package.json
文件时,执行npm i
可以一次性安装package.json
中的所有包。卸载包
npm uninstall 包名
会将包从package.json
与node_modules
中删除包。
若某些包只在项目开发阶段会用到,项目上线后不会用到,则将包记录到
devDependencies
中,若开发与线上都需要使用,则把包记录到dependencies
节点中。安装包到
devDependencies
中npm i 报名 -D
完整形式npm install 包名 --save-dev
。
(五)、解决下载慢问题
设置镜像源
国内 npm 淘宝镜像源服务器:https://registry.npmmirror.com
设置全局下载源 npm config set registry=https://registry.npmmirror.com/
安装 cnpm 工具
通过npm install -g cnpm --registry=https://registry.npmmirror.com
命令全局安装 cnpm。
以后安装包使用cnpm i
等(将 npm 替换为 cnpm)