在Debian上配置JS开发环境,优先使用NVM(Node Version Manager) 管理Node.js版本,避免系统自带版本过旧或冲突。通过curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.1/install.sh | bash安装NVM后,可随时切换不同版本的Node.js(如nvm install 18、nvm use 18)。安装完成后,用npm init -y快速初始化项目,生成package.json文件管理依赖。此外,推荐安装nodemon(npm install -g nodemon),它会在代码修改后自动重启Node.js应用,大幅提升开发迭代效率。
使用ESLint进行代码静态检查,提前发现潜在错误(如未使用的变量、语法问题)。通过npm install eslint --save-dev安装后,运行eslint --init生成配置文件(可选择Airbnb、Standard等流行规范),再通过eslint yourfile.js检查代码。搭配Prettier进行代码格式化(npm install prettier --save-dev),确保团队代码风格一致,运行prettier --write yourfile.js即可自动格式化。
optimization.usedExports: true,移除未使用的代码(需使用ES Modules语法,如import { func } from 'module')。splitChunks配置将公共依赖(如React、Lodash)提取为单独文件,实现按需加载,减少初始加载时间。TerserPlugin(Webpack内置)压缩JS代码,运行terser input.js -o output.min.js -c -m手动压缩,或在Webpack中配置minimizer: [new TerserPlugin()]自动处理。pm2(npm install pm2 -g),用pm2 start app.js启动应用,支持后台运行、日志管理(pm2 logs)、自动重启(pm2 save + pm2 startup设置开机自启),确保应用稳定。clinic.js(npm install -g clinic)生成性能报告,定位内存泄漏、CPU占用高的问题。选择合适的日志库(如Winston或Pino)记录应用日志,设置不同日志级别(error、warn、info、debug),便于后续过滤。例如,Winston配置示例:
const winston = require('winston');
const logger = winston.createLogger({
level: 'info',
format: winston.format.combine(
winston.format.timestamp(),
winston.format.json()
),
transports: [new winston.transports.Console(), new winston.transports.File({ filename: 'error.log', level: 'error' })],
});
logger.info('Application started');
对于生产环境,可使用Prometheus+Grafana监控应用指标(如请求量、响应时间),或用Loki收集日志,实现集中化管理。
FROM node:18
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
CMD ["npm", "start"]
用docker-compose.yml管理多容器(如Node.js+Redis+MySQL),简化部署流程。husky(npm install husky --save-dev)配置Git钩子,在提交代码前自动运行ESLint检查和测试(如npm test),确保代码质量。以上技巧覆盖了Debian系统下JS开发的环境搭建、代码质量、性能优化、进程管理、日志监控及自动化等核心环节,可帮助开发者提升效率、保证代码质量,并确保应用稳定运行。