Node.js 开发环境配置与优化
Node.js 环境配置基础
1. 环境变量设置
为了更好地管理 Node.js 的全局和缓存路径,建议在根目录下创建两个文件夹:
node_global:用于存放全局安装的模块。node_cache:用于存放 npm 缓存数据。
接着,在系统中添加以下环境变量:
- 新建一个名为
NODE_HOME的变量,指向 Node.js 安装路径。 - 在
PATH中添加以下路径:%NODE_HOME%\node_global和%NODE_HOME%\node_cache。
示例:
// 系统变量配置
NODE_HOME: D:\Nodejs\node-v20.17.0
PATH: %NODE_HOME%;%NODE_HOME%\node_global;%NODE_HOME%\node_cache
2. 自定义 npm 配置
可以通过以下命令自定义 npm 的全局路径、缓存路径和远程仓库源:
npm config set prefix "D:\\Nodejs\\node-v20.17.0\\node_global"设置全局模块路径。npm config set cache "D:\\Nodejs\\node-v20.17.0\\node_cache"设置缓存路径。npm config set registry https://registry.npmmirror.com修改为国内镜像源。
验证配置是否成功:
npm config ls
3. 模块加载方式
Node.js 提供了三种模块类型:核心模块、第三方模块和自定义模块。
- 核心模块:直接通过
require加载,例如const fs = require("fs")。 - 第三方模块:通过
npm install安装后加载,例如const jsdom = require("jsdom")。 - 自定义模块:
- 遵循 CommonJS 规范:使用
require导入,exports或module.exports导出。 - 遵循 ESM 规范:使用
import导入,export或export default导出。
- 遵循 CommonJS 规范:使用
ESM 示例:
// 在 package.json 中设置 "type": "module"
import { add } from './math.mjs';
function calculate(a, b) {
return add(a, b);
}
4. 系统模块详解
path 模块
path 模块提供了处理文件路径的功能:
const path = require('path');
let filePath = 'd:/test/abc/a.txt';
console.log(path.parse(filePath));
let parsedPath = {
root: 'e:/',
dir: 'd:/test/abc',
base: 'a.txt',
ext: '.txt',
name: 'abc'
};
console.log(path.resolve(path.format(parsedPath)));
buffer 模块
buffer 模块用于处理二进制数据:
const { Buffer } = require('buffer');
// 创建缓冲区
let buf1 = Buffer.alloc(10, '你好');
console.log(buf1);
// 从字符串生成缓冲区
let buf2 = Buffer.from('你好');
console.log(buf2);
// 填充缓冲区
buf2.fill('!', 0, 2);
console.log(buf2.toString());
// 写入缓冲区
buf2.write('你好', 0, 'utf-8');
console.log(buf2.toString());
5. nvm 版本管理
nvm 是用于管理多个 Node.js 版本的工具:
- 安装指定版本:
nvm install 18.16.0。 - 切换版本:
nvm use 18.16.0。 - 查看已安装版本:
nvm list。 - 设置默认版本:
nvm alias default 18.16.0。
6. pnpm 包管理器
pnpm 是一种更高效的包管理工具:
- 安装依赖:
pnpm install。 - 添加生产依赖:
pnpm add react。 - 添加开发依赖:
pnpm add -D vite。 - 运行脚本:
pnpm run dev。
7. 镜像源配置
为了加速依赖下载,可以将 npm 和 pnpm 的源设置为国内镜像:
npm config set registry https://registry.npmmirror.com
pnpm config set registry https://registry.npmmirror.com
项目级配置可以通过在项目根目录创建 .npmrc 文件实现:
registry=https://registry.npmmirror.com