Node.js安装与配置
什么是Node.js
Node.js是一个基于Chrome V8引擎的JavaScript运行时环境,它让JavaScript能够在服务器端运行。Node.js不仅可以用于后端开发,还是现代前端开发工具链的基础。
安装Node.js
方法1:官方安装包
- 访问Node.js官网
- 下载LTS(长期支持)版本
- 运行安装程序,按照提示完成安装
方法2:使用包管理器
Windows(使用Chocolatey):
# 安装Chocolatey(如果未安装)
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://community.chocolatey.org/install.ps1'))
# 安装Node.js
choco install nodejs
macOS(使用Homebrew):
# 安装Homebrew(如果未安装)
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
# 安装Node.js
brew install node
Linux(Ubuntu/Debian):
# 更新包列表
sudo apt update
# 安装Node.js
sudo apt install nodejs npm
# 或者使用NodeSource仓库获取最新版本
curl -fsSL https://deb.nodesource.com/setup_lts.x | sudo -E bash -
sudo apt-get install -y nodejs
方法3:使用版本管理器(推荐)
nvm(Node Version Manager):
# 安装nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
# 重新加载终端或运行
source ~/.bashrc
# 安装最新LTS版本
nvm install --lts
# 使用特定版本
nvm use 18.17.0
# 查看已安装版本
nvm list
# 设置默认版本
nvm alias default 18.17.0
Windows用户可以使用nvm-windows:
# 下载并安装nvm-windows
# https://github.com/coreybutler/nvm-windows/releases
# 安装Node.js
nvm install 18.17.0
nvm use 18.17.0
验证安装
# 检查Node.js版本
node --version
# 或
node -v
# 检查npm版本
npm --version
# 或
npm -v
npm配置
# 查看npm配置
npm config list
# 设置npm镜像源(中国用户推荐)
npm config set registry https://registry.npmmirror.com
# 设置全局安装路径
npm config set prefix "C:\Users\YourName\AppData\Roaming\npm"
# 查看全局安装路径
npm config get prefix
# 清除npm缓存
npm cache clean --force
包管理器
npm(Node Package Manager)
npm是Node.js的默认包管理器,用于安装、管理和发布JavaScript包。
基本命令
# 初始化项目
npm init
npm init -y # 使用默认配置
# 安装依赖
npm install package-name
npm install package-name@version # 安装特定版本
npm install package-name --save-dev # 安装为开发依赖
npm install -g package-name # 全局安装
# 安装所有依赖
npm install
# 更新依赖
npm update
npm update package-name
# 卸载依赖
npm uninstall package-name
npm uninstall -g package-name # 卸载全局包
# 查看已安装包
npm list
npm list -g # 查看全局包
# 查看包信息
npm info package-name
# 运行脚本
npm run script-name
npm start # 运行start脚本
npm test # 运行test脚本
package.json文件
{
"name": "my-project",
"version": "1.0.0",
"description": "A sample JavaScript project",
"main": "index.js",
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js",
"test": "jest",
"build": "webpack --mode production",
"lint": "eslint src/"
},
"keywords": ["javascript", "node"],
"author": "Your Name",
"license": "MIT",
"dependencies": {
"express": "^4.18.2",
"lodash": "^4.17.21"
},
"devDependencies": {
"nodemon": "^3.0.1",
"jest": "^29.6.2",
"eslint": "^8.45.0"
},
"engines": {
"node": ">=16.0.0",
"npm": ">=8.0.0"
}
}
Yarn
Yarn是Facebook开发的另一个JavaScript包管理器,提供了更快的安装速度和更好的依赖管理。
安装Yarn
# 使用npm安装
npm install -g yarn
# 验证安装
yarn --version
Yarn基本命令
# 初始化项目
yarn init
yarn init -y
# 安装依赖
yarn add package-name
yarn add package-name@version
yarn add package-name --dev
yarn global add package-name
# 安装所有依赖
yarn install
# 或简写
yarn
# 更新依赖
yarn upgrade
yarn upgrade package-name
# 移除依赖
yarn remove package-name
yarn global remove package-name
# 运行脚本
yarn run script-name
yarn start
yarn test
pnpm
pnpm是一个快速、节省磁盘空间的包管理器,通过硬链接和符号链接来避免重复安装相同的包。
安装pnpm
# 使用npm安装
npm install -g pnpm
# 或使用官方安装脚本
curl -fsSL https://get.pnpm.io/install.sh | sh -
# 验证安装
pnpm --version
pnpm基本命令
# 初始化项目
pnpm init
# 安装依赖
pnpm add package-name
pnpm add package-name -D # 开发依赖
pnpm add package-name -g # 全局安装
# 安装所有依赖
pnpm install
# 或简写
pnpm i
# 更新依赖
pnpm update
# 移除依赖
pnpm remove package-name
# 运行脚本
pnpm run script-name
pnpm start
代码编辑器和IDE
Visual Studio Code(推荐)
VS Code是目前最受欢迎的JavaScript开发编辑器,提供了丰富的功能和扩展生态。
安装VS Code
- 访问VS Code官网
- 下载适合你操作系统的版本
- 安装并启动
推荐扩展
{
"recommendations": [
"ms-vscode.vscode-typescript-next",
"esbenp.prettier-vscode",
"dbaeumer.vscode-eslint",
"bradlc.vscode-tailwindcss",
"ms-vscode.vscode-json",
"formulahendry.auto-rename-tag",
"christian-kohler.path-intellisense",
"ms-vscode.vscode-npm-script",
"ms-vscode.vscode-js-debug",
"ms-vscode.vscode-thunder-client"
]
}
VS Code配置
settings.json配置:
{
"editor.fontSize": 14,
"editor.tabSize": 2,
"editor.insertSpaces": true,
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.fixAll.eslint": true
},
"files.autoSave": "afterDelay",
"files.autoSaveDelay": 1000,
"emmet.includeLanguages": {
"javascript": "javascriptreact"
},
"javascript.updateImportsOnFileMove.enabled": "always",
"typescript.updateImportsOnFileMove.enabled": "always"
}
其他编辑器选择
WebStorm
- JetBrains开发的专业JavaScript IDE
- 强大的代码分析和重构功能
- 内置调试器和版本控制
- 付费软件,但功能非常强大
Sublime Text
- 轻量级、快速的文本编辑器
- 丰富的插件生态
- 支持多种编程语言
Atom
- GitHub开发的开源编辑器
- 高度可定制
- 注:GitHub已宣布停止维护
浏览器开发者工具
Chrome DevTools
Chrome开发者工具是前端开发的重要工具,提供了调试、性能分析、网络监控等功能。
打开DevTools
- Windows/Linux:
F12
或Ctrl + Shift + I
- macOS:
Cmd + Option + I
- 右键页面选择”检查”或”检查元素”
主要面板
- Elements(元素):查看和编辑HTML/CSS
- Console(控制台):执行JavaScript代码,查看日志
- Sources(源代码):调试JavaScript代码
- Network(网络):监控网络请求
- Performance(性能):分析页面性能
- Memory(内存):分析内存使用
- Application(应用):管理存储、Service Worker等
Console面板使用
// 基本输出
console.log('Hello, World!');
console.info('这是信息');
console.warn('这是警告');
console.error('这是错误');
// 格式化输出
console.log('%c这是彩色文本', 'color: red; font-size: 20px;');
// 表格输出
const users = [
{ name: 'Alice', age: 30 },
{ name: 'Bob', age: 25 }
];
console.table(users);
// 分组输出
console.group('用户信息');
console.log('姓名: Alice');
console.log('年龄: 30');
console.groupEnd();
// 计时
console.time('操作耗时');
// 执行一些操作
console.timeEnd('操作耗时');
// 断言
console.assert(1 === 2, '1不等于2');
// 计数
console.count('点击次数');
console.count('点击次数');
调试技巧
// 设置断点
function calculateSum(a, b) {
debugger; // 程序会在这里暂停
const result = a + b;
return result;
}
// 条件断点(在DevTools中设置)
for (let i = 0; i < 100; i++) {
// 在DevTools中设置条件:i === 50
console.log(i);
}
// 监控变量变化
let count = 0;
function increment() {
count++; // 可以在DevTools中监控count变量
}
构建工具
Webpack
Webpack是一个现代JavaScript应用程序的静态模块打包器。
安装和基本配置
# 安装webpack
npm install --save-dev webpack webpack-cli
# 安装常用loader和plugin
npm install --save-dev babel-loader @babel/core @babel/preset-env
npm install --save-dev css-loader style-loader
npm install --save-dev html-webpack-plugin
webpack.config.js:
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
module.exports = {
entry: './src/index.js',
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.js',
clean: true
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
}
}
},
{
test: /\.css$/,
use: ['style-loader', 'css-loader']
}
]
},
plugins: [
new HtmlWebpackPlugin({
template: './src/index.html'
})
],
devServer: {
static: './dist',
port: 3000,
open: true
}
};
Vite
Vite是一个现代的前端构建工具,提供了极快的开发服务器和优化的生产构建。
创建Vite项目
# 使用npm
npm create vite@latest my-project
cd my-project
npm install
npm run dev
# 使用yarn
yarn create vite my-project
cd my-project
yarn
yarn dev
# 使用pnpm
pnpm create vite my-project
cd my-project
pnpm install
pnpm dev
vite.config.js:
import { defineConfig } from 'vite';
export default defineConfig({
server: {
port: 3000,
open: true
},
build: {
outDir: 'dist',
sourcemap: true
}
});
Parcel
Parcel是一个零配置的Web应用打包器。
# 安装Parcel
npm install --save-dev parcel
# 在package.json中添加脚本
{
"scripts": {
"start": "parcel index.html",
"build": "parcel build index.html"
}
}
# 运行开发服务器
npm start
# 构建生产版本
npm run build
代码质量工具
ESLint
ESLint是一个JavaScript代码检查工具,用于发现和修复代码中的问题。
安装和配置
# 安装ESLint
npm install --save-dev eslint
# 初始化配置
npx eslint --init
.eslintrc.js:
module.exports = {
env: {
browser: true,
es2021: true,
node: true
},
extends: [
'eslint:recommended'
],
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module'
},
rules: {
'indent': ['error', 2],
'linebreak-style': ['error', 'unix'],
'quotes': ['error', 'single'],
'semi': ['error', 'always'],
'no-unused-vars': 'warn',
'no-console': 'warn'
}
};
Prettier
Prettier是一个代码格式化工具,确保代码风格的一致性。
安装和配置
# 安装Prettier
npm install --save-dev prettier
# 安装ESLint和Prettier集成
npm install --save-dev eslint-config-prettier eslint-plugin-prettier
.prettierrc:
{
"semi": true,
"trailingComma": "es5",
"singleQuote": true,
"printWidth": 80,
"tabWidth": 2,
"useTabs": false
}
.prettierignore:
node_modules/
dist/
build/
*.min.js
Husky和lint-staged
用于在Git提交前自动运行代码检查和格式化。
# 安装Husky和lint-staged
npm install --save-dev husky lint-staged
# 初始化Husky
npx husky install
# 添加pre-commit钩子
npx husky add .husky/pre-commit "npx lint-staged"
package.json配置:
{
"lint-staged": {
"*.{js,jsx,ts,tsx}": [
"eslint --fix",
"prettier --write"
],
"*.{css,scss,md}": [
"prettier --write"
]
}
}
版本控制
Git基础
# 初始化Git仓库
git init
# 添加远程仓库
git remote add origin https://github.com/username/repository.git
# 基本操作
git add . # 添加所有文件到暂存区
git commit -m "提交信息" # 提交更改
git push origin main # 推送到远程仓库
git pull origin main # 拉取远程更改
# 分支操作
git branch feature-branch # 创建分支
git checkout feature-branch # 切换分支
git checkout -b new-branch # 创建并切换分支
git merge feature-branch # 合并分支
git branch -d feature-branch # 删除分支
.gitignore文件
# 依赖
node_modules/
npm-debug.log*
yarn-debug.log*
yarn-error.log*
# 构建输出
dist/
build/
*.tgz
*.tar.gz
# 环境变量
.env
.env.local
.env.development.local
.env.test.local
.env.production.local
# IDE
.vscode/
.idea/
*.swp
*.swo
*~
# 操作系统
.DS_Store
Thumbs.db
# 日志
logs
*.log
# 临时文件
*.tmp
*.temp
项目结构最佳实践
基本项目结构
my-project/
├── src/
│ ├── components/
│ ├── utils/
│ ├── styles/
│ ├── assets/
│ └── index.js
├── public/
│ └── index.html
├── tests/
│ └── __tests__/
├── docs/
├── .gitignore
├── .eslintrc.js
├── .prettierrc
├── package.json
├── README.md
└── webpack.config.js
环境配置
.env文件:
# 开发环境
NODE_ENV=development
API_URL=http://localhost:3001
DEBUG=true
# 生产环境(.env.production)
NODE_ENV=production
API_URL=https://api.example.com
DEBUG=false
使用环境变量:
// 在Node.js中
const apiUrl = process.env.API_URL || 'http://localhost:3000';
const isDebug = process.env.DEBUG === 'true';
// 在前端项目中(需要构建工具支持)
const apiUrl = import.meta.env.VITE_API_URL; // Vite
const apiUrl = process.env.REACT_APP_API_URL; // Create React App
本章总结
本章详细介绍了JavaScript开发环境的搭建和工具使用:
- Node.js安装:学习了多种安装方式和版本管理
- 包管理器:掌握了npm、Yarn、pnpm的使用
- 开发工具:了解了VS Code等编辑器的配置和使用
- 浏览器工具:学习了Chrome DevTools的使用技巧
- 构建工具:介绍了Webpack、Vite、Parcel等现代构建工具
- 代码质量:配置了ESLint、Prettier等代码质量工具
- 版本控制:掌握了Git的基本使用和项目配置
良好的开发环境和工具链是高效开发的基础,这些工具将在后续的学习和实际开发中发挥重要作用。
下一章我们将学习JavaScript的基本语法和语言特性。