Debian JS如何进行项目管理
导读:Debian 环境下 JavaScript 项目管理实践 一 环境准备与版本管理 使用 APT 安装 Node.js 与 npm,并验证版本: 命令:sudo apt update && sudo apt install...
Debian 环境下 JavaScript 项目管理实践
一 环境准备与版本管理
- 使用 APT 安装 Node.js 与 npm,并验证版本:
- 命令:
sudo apt update & & sudo apt install -y nodejs npm - 验证:
node -v、npm -v
- 命令:
- 使用 NVM 管理多版本 Node.js(推荐):
- 安装:
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash - 加载:
source ~/.bashrc - 使用:
nvm install 18、nvm use 18、nvm ls-remote
- 安装:
- 可选:安装 Yarn(替代或补充 npm)
- Debian 仓库安装:
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -,echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list,sudo apt update & & sudo apt install -y yarn - 验证:
yarn --version
- Debian 仓库安装:
二 项目初始化与依赖管理
- 初始化项目与基本配置:
npm init -y生成 package.json- 常用脚本示例:
"scripts": { "start": "node index.js", "dev": "node index.js", "build": "webpack" }
- 依赖管理(npm/yarn)
- 安装生产依赖:
npm install express或yarn add express - 安装开发依赖:
npm install -D webpack webpack-cli babel-loader @babel/core @babel/preset-env或yarn add -D ... - 更新/移除:
npm update < pkg>/npm uninstall < pkg>;yarn upgrade < pkg>/yarn remove < pkg>
- 安装生产依赖:
- 版本规范与锁文件
- 遵循 SemVer 语义化版本;提交时确保生成/更新 package-lock.json 或 yarn.lock,保证可重复构建
- 安全审计
npm audit(或yarn audit)定期检查依赖漏洞并修复
三 模块化与构建流程
- 采用 ES6 模块 组织代码:
- 导出:
export function greet(name) { return \Hello, ${ name} !`; } ` - 导入:
import { greet } from '../modules/moduleA'
- 导出:
- 使用 Babel 转译 ES6+ 语法(.babelrc 或 babel.config.js)
- 示例:
{ "presets": ["@babel/preset-env"] }
- 示例:
- 使用 Webpack 打包与优化
- 示例配置要点:
entry: './src/index.js'output: { filename: 'bundle.js', path: path.resolve(__dirname, 'dist') }module.rules配置 babel-loader,排除 node_modules- 生产优化:
optimization.splitChunks { chunks: 'all' }
- 示例配置要点:
- 质量与一致性
- ESLint 做静态检查:
eslint --init、eslint yourfile.js - Prettier 做代码格式化:
prettier --write yourfile.js
- ESLint 做静态检查:
四 质量保障与协作规范
- 单元测试
- 使用 Jest 或 Vitest 编写测试,例如:
import { greet } from './index'test('greet returns correct greeting', () => { expect(greet('World')).toBe('Hello, World!'); } )
- 使用 Jest 或 Vitest 编写测试,例如:
- 提交规范与变更记录
- 采用 Conventional Commits 规范,配合 Commitlint 与 Husky 做 Git 提交前校验
- 使用 Standard Version 或 semantic-release 自动管理 CHANGELOG 与版本号
- 持续集成
- 在 GitHub Actions/GitLab CI 中执行:安装依赖、代码检查、单元测试、构建与产物上传
- 目录与配置建议
- 标准结构:
src/、dist/、test/、package.json、webpack.config.js、.eslintrc.js、.prettierrc、.gitignore - 将
node_modules/与构建产物加入 .gitignore
- 标准结构:
五 运行与部署
- 进程管理
- 使用 PM2 守护进程与日志管理:
- 安装:
sudo npm install -g pm2 - 启动:
pm2 start app.js --name my-app - 常用:
pm2 status、pm2 logs、pm2 startup、pm2 save
- 安装:
- 使用 PM2 守护进程与日志管理:
- 系统服务
- 使用 systemd 托管(适合系统级长期运行):
- 示例服务文件
/etc/systemd/system/node.service:[Service] WorkingDirectory=/opt/myapp ExecStart=/usr/bin/node /opt/myapp/server.js Restart=always User=www-data Environment=NODE_ENV=production
- 管理:
sudo systemctl daemon-reload & & sudo systemctl start node & & sudo systemctl enable node
- 示例服务文件
- 使用 systemd 托管(适合系统级长期运行):
- 容器化与反向代理
- Docker 示例 Dockerfile:
FROM node:18-alpine WORKDIR /app COPY package*.json ./ RUN npm ci --only=production COPY . . CMD ["node","server.js"]
- 使用 Nginx 反向代理到应用端口(如 3000 → 80),并配置
proxy_set_header等头部转发
- Docker 示例 Dockerfile:
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Debian JS如何进行项目管理
本文地址: https://pptw.com/jishu/758232.html
