package.sh
1.85 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
#!/bin/bash
# 抖音前端项目打包脚本
# 用于打包 dist 目录,方便部署到宝塔
# 设置颜色输出
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
RED='\033[0;31m'
NC='\033[0m' # No Color
# 获取脚本所在目录
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$SCRIPT_DIR"
echo -e "${GREEN}========================================${NC}"
echo -e "${GREEN} 抖音前端项目打包工具${NC}"
echo -e "${GREEN}========================================${NC}"
echo ""
# 检查 dist 目录是否存在
if [ ! -d "dist" ]; then
echo -e "${RED}错误: dist 目录不存在!${NC}"
echo -e "${YELLOW}请先运行 npm run build 构建项目${NC}"
exit 1
fi
# 检查 dist 目录是否为空
if [ -z "$(ls -A dist)" ]; then
echo -e "${RED}错误: dist 目录为空!${NC}"
echo -e "${YELLOW}请先运行 npm run build 构建项目${NC}"
exit 1
fi
# 生成时间戳
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
ZIP_NAME="douyin_frontend_${TIMESTAMP}.zip"
echo -e "${YELLOW}正在打包 dist 目录...${NC}"
# 进入 dist 目录,打包其内容(不包含 dist 目录本身)
cd "$SCRIPT_DIR/dist"
zip -r "../$ZIP_NAME" . -x "*.DS_Store" "*.git*" "*.log" "*.tmp"
cd "$SCRIPT_DIR"
if [ $? -eq 0 ]; then
echo ""
echo -e "${GREEN}✓ 打包成功!${NC}"
echo -e "${GREEN}打包文件: ${ZIP_NAME}${NC}"
echo ""
# 显示文件大小
FILE_SIZE=$(du -h "$ZIP_NAME" | cut -f1)
echo -e "${GREEN}文件大小: ${FILE_SIZE}${NC}"
echo ""
echo -e "${YELLOW}部署说明:${NC}"
echo "1. 将 ${ZIP_NAME} 上传到宝塔服务器"
echo "2. 解压到网站根目录(如 /www/wwwroot/your-domain/)"
echo "3. 确保 dist 目录下的所有文件都在网站根目录"
echo "4. 配置 Nginx/Apache 指向网站根目录"
echo ""
else
echo ""
echo -e "${RED}✗ 打包失败!${NC}"
exit 1
fi