NPM 脚本
下面介绍该项目使用的 NPM 脚本。
根目录脚本
/package.json
json
"scripts": {
// docker-compose 运行与部署
"docker:compose:deploy": "cd ./api && pnpm run build && cd ../web && pnpm run build && cd ../ && docker-compose up -d --build",
// husky 初始化
"prepare": "husky install",
// 代码格式化
"format": "prettier --write \"**/*.{vue,js,ts,jsx,tsx,json,md,html,css,scss}\""
}
后端脚本
/api/package.json
json
"scripts": {
// 打包
"build": "nest build",
// 本地运行
"start": "cross-env NODE_ENV=development nest start",
// 本地运行并热部署
"start:dev": "cross-env NODE_ENV=development nest start --watch",
// 运行调试
"start:debug": "nest start --debug --watch",
// 生产环境运行
"start:prod": "cross-env NODE_ENV=production node dist/main",
// pm2 运行
"pm2:prod": "pm2 start ecosystem.config.js",
// 构建镜像
"docker:image": "pnpm run build && docker build -t foolon-admin-api .",
// docker-compose 运行与部署
"docker:compose:deploy": "pnpm run build && docker-compose up -d --build",
// eslint
"lint": "eslint \"{src,apps,libs,test}/**/*.ts\" --fix",
// jest 测试
"test": "jest",
// jest 测试 监听
"test:watch": "jest --watch",
// jest 测试覆盖率
"test:cov": "jest --coverage",
// jest 测试 调试
"test:debug": "node --inspect-brk -r tsconfig-paths/register -r ts-node/register node_modules/.bin/jest --runInBand",
// jest 测试 e2e 端到端测试
"test:e2e": "jest --config ./test/jest-e2e.json"
}
前端脚本
/web/package.json
json
"scripts": {
// 本地运行
"dev": "vite --host",
// ts检测并打包
"build": "run-p type-check \"build-only {@}\" --",
// 构建docker镜像
"docker:image": "pnpm run build && docker build -t foolon-admin-web .",
// docker-compose 运行与部署
"docker:compose:deploy": "pnpm run build && docker-compose up -d --build",
// 将后端定义的 swager 文档生成 ts 类型
"openapi-typescript": "npx openapi-typescript ../api/swagger-spec.json -o ./src/types/Schema.d.ts && cd ../ && pnpm run format",
// 预览
"preview": "vite preview",
// 仅打包
"build-only": "vite build",
// ts 检测
"type-check": "vue-tsc --noEmit --skipLibCheck",
// eslint 检测
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore"
}
文档脚本
/doc/package.json
json
"scripts": {
// 本地运行
"docs:dev": "vitepress dev --host",
// 打包
"docs:build": "vitepress build",
// 预览
"docs:preview": "vitepress preview"
},