安装与配置 #
一、环境准备 #
1.1 安装Node.js #
检查是否已安装:
bash
node --version
npm --version
安装方式:
| 方式 | 说明 |
|---|---|
| 官网安装包 | nodejs.org下载 |
| nvm | Node版本管理器(推荐) |
| Homebrew | macOS包管理器 |
使用nvm安装(推荐):
bash
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.0/install.sh | bash
nvm install --lts
nvm use --lts
使用Homebrew安装(macOS):
bash
brew install node
1.2 验证安装 #
bash
node --version
npm --version
输出示例:
text
v20.10.0
10.2.3
1.3 npm基础 #
npm常用命令:
bash
npm init npm init -y
npm install npm install express
npm install --save-dev jest npm uninstall express
npm update npm list
二、创建Express项目 #
2.1 方式一:手动创建 #
步骤1:创建项目目录
bash
mkdir my-express-app
cd my-express-app
步骤2:初始化项目
bash
npm init -y
生成的 package.json:
json
{
"name": "my-express-app",
"version": "1.0.0",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"keywords": [],
"author": "",
"license": "ISC"
}
步骤3:安装Express
bash
npm install express
步骤4:创建入口文件
创建 index.js:
javascript
const express = require('express');
const app = express();
const PORT = 3000;
app.get('/', (req, res) => {
res.send('Hello Express!');
});
app.listen(PORT, () => {
console.log(`服务器运行在 http://localhost:${PORT}`);
});
步骤5:运行项目
bash
node index.js
2.2 方式二:使用Express生成器 #
安装生成器:
bash
npm install -g express-generator
创建项目:
bash
express my-app
cd my-app
npm install
生成的项目结构:
text
my-app/
├── bin/
│ └── www
├── public/
│ ├── images/
│ ├── javascripts/
│ └── stylesheets/
├── routes/
│ ├── index.js
│ └── users.js
├── views/
│ ├── error.jade
│ ├── index.jade
│ └── layout.jade
├── app.js
└── package.json
运行项目:
bash
npm start
三、项目配置 #
3.1 package.json配置 #
json
{
"name": "my-express-app",
"version": "1.0.0",
"description": "My Express Application",
"main": "index.js",
"scripts": {
"start": "node index.js",
"dev": "nodemon index.js",
"test": "jest"
},
"keywords": ["express", "nodejs"],
"author": "Your Name",
"license": "MIT",
"dependencies": {
"express": "^4.18.2"
},
"devDependencies": {
"nodemon": "^3.0.1"
}
}
3.2 环境变量配置 #
安装dotenv:
bash
npm install dotenv
创建 .env 文件:
text
PORT=3000
NODE_ENV=development
DB_HOST=localhost
DB_PORT=27017
使用环境变量:
javascript
require('dotenv').config();
const express = require('express');
const app = express();
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`服务器运行在端口 ${PORT}`);
});
3.3 开发工具配置 #
安装nodemon(热重载):
bash
npm install --save-dev nodemon
package.json添加脚本:
json
{
"scripts": {
"dev": "nodemon index.js"
}
}
运行开发模式:
bash
npm run dev
四、项目结构最佳实践 #
4.1 基础结构 #
text
my-app/
├── src/
│ ├── routes/
│ │ ├── index.js
│ │ └── users.js
│ ├── controllers/
│ ├── models/
│ ├── middlewares/
│ ├── utils/
│ └── app.js
├── public/
├── tests/
├── .env
├── .gitignore
├── package.json
└── README.md
4.2 MVC结构 #
text
my-app/
├── config/
│ ├── database.js
│ └── config.js
├── controllers/
│ ├── userController.js
│ └── authController.js
├── models/
│ ├── User.js
│ └── Post.js
├── routes/
│ ├── index.js
│ ├── userRoutes.js
│ └── authRoutes.js
├── middlewares/
│ ├── auth.js
│ └── errorHandler.js
├── views/
│ ├── layouts/
│ ├── partials/
│ └── pages/
├── public/
│ ├── css/
│ ├── js/
│ └── images/
├── utils/
│ └── helpers.js
├── tests/
├── app.js
├── server.js
├── .env
└── package.json
4.3 入口文件分离 #
server.js:
javascript
const app = require('./app');
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`服务器运行在端口 ${PORT}`);
});
app.js:
javascript
const express = require('express');
const app = express();
const routes = require('./routes');
app.use(express.json());
app.use(express.urlencoded({ extended: true }));
app.use('/api', routes);
app.use((err, req, res, next) => {
res.status(500).json({ error: err.message });
});
module.exports = app;
五、常用开发依赖 #
5.1 开发工具 #
bash
npm install --save-dev nodemon
npm install --save-dev eslint
npm install --save-dev prettier
npm install --save-dev jest
5.2 生产依赖 #
bash
npm install express
npm install dotenv
npm install cors
npm install helmet
npm install morgan
npm install compression
5.3 完整安装示例 #
bash
npm init -y
npm install express dotenv cors helmet morgan compression
npm install --save-dev nodemon eslint prettier jest
六、ESLint配置 #
6.1 安装ESLint #
bash
npm install --save-dev eslint
npx eslint --init
6.2 配置文件 .eslintrc.js #
javascript
module.exports = {
env: {
node: true,
es2021: true,
},
extends: 'eslint:recommended',
parserOptions: {
ecmaVersion: 'latest',
sourceType: 'module',
},
rules: {
'no-unused-vars': 'warn',
'no-console': 'off',
'indent': ['error', 2],
'quotes': ['error', 'single'],
'semi': ['error', 'always'],
},
};
七、Git配置 #
7.1 初始化Git #
bash
git init
git add .
git commit -m "Initial commit"
7.2 .gitignore文件 #
text
node_modules/
.env
.DS_Store
*.log
npm-debug.log*
coverage/
.idea/
.vscode/
dist/
build/
八、VS Code配置 #
8.1 推荐扩展 #
| 扩展 | 说明 |
|---|---|
| ESLint | 代码检查 |
| Prettier | 代码格式化 |
| Node.js Tools | Node.js支持 |
| REST Client | API测试 |
| Thunder Client | API测试 |
8.2 launch.json配置 #
json
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "launch",
"name": "Launch Program",
"skipFiles": ["<node_internals>/**"],
"program": "${workspaceFolder}/index.js",
"envFile": "${workspaceFolder}/.env"
}
]
}
九、验证安装 #
9.1 创建测试文件 #
javascript
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.json({
message: 'Express安装成功!',
nodeVersion: process.version,
expressVersion: require('express/package.json').version
});
});
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
console.log(`服务器运行在 http://localhost:${PORT}`);
});
9.2 运行测试 #
bash
node index.js
访问 http://localhost:3000,看到JSON响应表示安装成功。
十、总结 #
安装配置要点:
| 步骤 | 说明 |
|---|---|
| 安装Node.js | 使用nvm或官网安装包 |
| 创建项目 | npm init初始化 |
| 安装Express | npm install express |
| 配置环境 | 使用dotenv管理环境变量 |
| 开发工具 | nodemon实现热重载 |
下一步,让我们创建第一个Express应用!
最后更新:2026-03-28