# node后端开发学习 **Repository Path**: action_erlang/express ## Basic Information - **Project Name**: node后端开发学习 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-23 - **Last Updated**: 2026-05-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 开发记录 ## 一、创建项目 ### 1、搭建项目 1. 使用`npm init -y`初始化项目 2. 安装插件:`npm i -D typescript txc tsx nodemon` 3. 配置运行命令,在`package.json`中添加命令 ```json "scripts": { "dev": "nodemon --exec tsx src/main.ts", "build": "tsc", "dev:prod": "node dist/main.js", "test": "echo \"Error: no test specified\" && exit 1" }, ``` ``` 4. 修改`package.json`中应用模式 ```json "type": "module", ``` 5. 添加ts配置,创建`tsconfig.json`文件,并编辑内容 ```json { "compilerOptions": { "outDir": "./dist", // 输出到 dist "module": "NodeNext", // 使用 ES 模块 "target": "ESNext", "moduleResolution": "NodeNext", "esModuleInterop": true }, "include": ["src/**/*"] } ``` 6. 配置eslint和prettier - 安装插件: ``` npm i -D @typescript-eslint/eslint-plugin @typescript-eslint/parser eslint eslint-config-prettier eslint-plugin-prettier prettier ``` - 创建`.prettiertc`文件,并编辑内容 ``` { "semi": true, "singleQuote": true, "trailingComma": "es5", "printWidth": 120 } ``` - 创建`eslint.config.js`文件,并编辑内容 ```js import prettier from 'eslint-plugin-prettier' import tsParser from '@typescript-eslint/parser' import tsPlugin from '@typescript-eslint/eslint-plugin' export default [ { files: ['**/*.ts'], ignores: [ 'node_modules/**', 'dist/**', '*.config.js', '*.config.ts' ], languageOptions: { parser: tsParser, ecmaVersion: 'latest', sourceType: 'module' }, plugins: { '@typescript-eslint': tsPlugin, prettier }, rules: { 'prettier/prettier': 'error', '@typescript-eslint/no-unused-vars': 'warn', // 自定义规则 略 } ] ``` - 添加并修改运行命令,修改`package.json` ```json "scripts": { "lint": "eslint . --ext .ts", "lint:fix": "eslint . --ext .ts --fix", "dev": "nodemon --exec \"npm run lint && tsx\" src/main.ts", "build": "tsc", "dev:prod": "node dist/main.js", "test": "echo \"Error: no test specified\" && exit 1", }, ``` 7. 添加git拦截 - 初始化git,运行命令`git init` - 添加git忽略文件配置,创建`.gitignore`,并编辑内容 ``` # Logs logs *.log npm-debug.log* yarn-debug.log* yarn-error.log* pnpm-debug.log* lerna-debug.log* node_modules dist dist-ssr *.local # Editor directories and files !.vscode/extensions.json .idea .DS_Store *.suo *.ntvs* *.njsproj *.sln *.sw? ``` - 安装插件:`npm i -D husky lint-staged` - 运行命令:`npx husky install` - 修改`package.json`配置 ```json "lint-staged": { "*.ts": [ "eslint --fix", "prettier --write" ] }, ``` - 修改`.husky/_/pre-commit`文件内容为 ``` #!/usr/bin/env sh . "$(dirname -- "$0")/husky.sh" npx lint-staged ``` - 添加`.husky`文件到git管理 ### 2、搭建架构 1. 安装并运行测试服务 2. 请求接口测试,不同的请求看看是否能够收到上传参数,并成功返回结果 3. 接口报错时添加日志到日志文件 4. 创建并测试MySql连接池 5. 项目运行时,检查是否创建库,没有则创建库,创建表 6. 系统报错时,发生报错信息到指定邮件,并断开MySql连接 ## 二、登录验证 ### 1、用户模块 1. 用户注册、登录、登出、修改 2. 开发用户登录页面 3. 添加登录验证码和邮箱验证码 4. 添加接口校验拦截 2、