1. 环境准备:安装Node.js、npm及必要工具
在Debian系统上,首先需要安装JavaScript运行时(Node.js)和包管理器(npm)。推荐通过NodeSource二进制分发库安装指定版本(如16.x),避免系统自带版本过旧:
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt-get install -y nodejs
验证安装:node -v
(查看Node.js版本)、npm -v
(查看npm版本)。
此外,建议安装nvm(Node Version Manager)管理多版本Node.js,便于团队成员切换兼容版本:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash
source ~/.bashrc # 生效配置
nvm install 16 # 安装指定版本
nvm use 16 # 切换版本
同时,安装Git作为版本控制工具:sudo apt-get install git
。
2. 项目初始化:建立规范的代码结构
创建项目目录并初始化package.json
(记录项目元数据、依赖及脚本):
mkdir my-js-project && cd my-js-project
npm init -y # -y快速生成默认配置
规划清晰的目录结构(示例):
my-js-project/
├── src/ # 源代码目录
│ ├── modules/ # 功能模块(如user、product)
│ ├── utils/ # 工具函数
│ └── index.js # 入口文件
├── dist/ # 构建产物目录(自动生成)
├── tests/ # 单元测试目录
├── .gitignore # 忽略node_modules/、dist/等
├── package.json # 项目配置
└── webpack.config.js # 构建配置(可选)
通过npm install <package> --save
安装依赖(如lodash
、axios
),--save-dev
安装开发依赖(如eslint
、jest
)。
3. 版本控制:用Git实现代码协作
初始化本地Git仓库并关联远程仓库(如GitHub、GitLab):
git init
git remote add origin <repository-url> # 替换为远程仓库地址
添加.gitignore
文件,忽略不必要的文件(如node_modules/
、dist/
、.env
):
node_modules/
dist/
.env
*.log
提交代码并推送至远程仓库:
git add . # 添加所有文件
git commit -m "Initial commit" # 提交说明
git push -u origin main # 推送至main分支(推荐替代master)
团队成员通过git clone <repository-url>
克隆仓库,后续通过git pull
同步最新代码,git branch
创建功能分支,git merge
合并代码。
4. 依赖与构建管理:确保环境一致性
使用package.json
的scripts
字段定义常用命令(如构建、测试、启动):
"scripts": {
"build": "webpack --mode production", # 构建生产环境代码
"dev": "webpack-dev-server --open", # 开发模式(热更新)
"test": "jest", # 运行单元测试
"lint": "eslint src/" # 代码风格检查
}
团队成员通过npm install
安装所有依赖(根据package-lock.json
确保版本一致),通过npm run <script-name>
执行命令(如npm run dev
启动开发服务器)。
推荐使用Webpack或Rollup作为模块打包工具,配合Babel转译ES6+语法(确保兼容旧浏览器):
npm install --save-dev webpack webpack-cli babel-loader @babel/core @babel/preset-env
配置Webpack(webpack.config.js
):
const path = require('path');
module.exports = {
entry: './src/index.js',
output: {
filename: 'bundle.js',
path: path.resolve(__dirname, 'dist')
},
module: {
rules: [
{
test: /\.js$/,
exclude: /node_modules/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
}
}
}
]
}
};
5. 代码质量:通过ESLint统一规范
安装ESLint及预设规则(如eslint:recommended
、airbnb
):
npm install --save-dev eslint
npx eslint --init # 交互式初始化配置
配置.eslintrc.json
(示例,使用Airbnb规范):
{
"extends": ["airbnb-base"],
"rules": {
"semi": ["error", "always"], // 强制分号
"quotes": ["error", "single"] // 强制单引号
}
}
将lint
脚本添加到package.json
,团队成员可通过npm run lint
检查代码风格,确保一致性。
6. 测试:用Jest保障功能正确性
安装Jest(JavaScript测试框架):
npm install --save-dev jest
编写测试用例(如src/utils/add.test.js
):
import { add } from '../add.js'; // 假设有add函数
test('adds 1 + 2 to equal 3', () => {
expect(add(1, 2)).toBe(3);
});
将test
脚本添加到package.json
,团队成员可通过npm run test
运行测试,确保代码功能正确。
7. 持续集成(CI):自动化验证代码
在远程仓库(如GitHub)配置CI工具(如GitHub Actions),自动运行测试、构建流程。创建.github/workflows/ci.yml
文件:
name: CI
on: [push, pull_request] # 触发条件:推送或PR
jobs:
test:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3 # 克隆仓库
- name: Set up Node.js
uses: actions/setup-node@v3
with:
node-version: '16' # 指定Node.js版本
- run: npm install # 安装依赖
- run: npm test # 运行测试
每次代码变更时,CI会自动执行测试,确保代码质量。
8. 文档与沟通:提升协作效率
npm install
、npm run dev
)、贡献规范(如分支命名、提交信息格式)。