Files
jiebanke/backend/start.sh
aiotagro b2d940e014 docs(deployment): 更新部署文档并添加自动化部署脚本
- 更新了 DEPLOYMENT.md 文档,增加了更多部署细节和说明
- 添加了 Linux 和 Windows 平台的自动化部署脚本
- 更新了 README.md,增加了部署相关说明
- 调整了 .env 文件配置,以适应新的部署流程
- 移除了部分不必要的代码和配置
2025-09-10 14:16:27 +08:00

93 lines
2.3 KiB
Bash
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/bin/bash
# 结伴客后端服务启动脚本
# 设置颜色输出
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[1;33m'
NC='\033[0m' # No Color
# 检查是否已经安装依赖
check_dependencies() {
if [ ! -d "node_modules" ]; then
echo -e "${YELLOW}检测到未安装依赖,正在安装...${NC}"
npm install
if [ $? -ne 0 ]; then
echo -e "${RED}依赖安装失败!${NC}"
exit 1
fi
echo -e "${GREEN}依赖安装完成!${NC}"
fi
}
# 检查环境变量文件
check_env() {
if [ ! -f ".env" ]; then
echo -e "${YELLOW}未找到 .env 文件,正在复制示例文件...${NC}"
if [ -f ".env.example" ]; then
cp .env.example .env
echo -e "${GREEN}.env 文件已创建,请根据需要修改配置!${NC}"
else
echo -e "${RED}未找到 .env.example 文件!${NC}"
fi
fi
}
# 启动服务
start_server() {
echo -e "${GREEN}正在启动结伴客后端服务...${NC}"
# 检查是否提供了参数
if [ "$1" = "dev" ]; then
# 开发模式
if command -v nodemon &> /dev/null; then
nodemon src/server.js
else
echo -e "${YELLOW}未安装 nodemon使用 node 运行...${NC}"
node src/server.js
fi
else
# 生产模式
node src/server.js
fi
}
# 显示帮助信息
show_help() {
echo "结伴客后端服务启动脚本"
echo ""
echo "使用方法:"
echo " ./start.sh - 以生产模式启动服务"
echo " ./start.sh dev - 以开发模式启动服务"
echo " ./start.sh help - 显示帮助信息"
echo ""
echo "说明:"
echo " 生产模式: 使用 node 直接运行服务"
echo " 开发模式: 使用 nodemon 运行服务(支持热重载)"
}
# 主逻辑
main() {
echo -e "${GREEN}========== 结伴客后端服务启动脚本 ==========${NC}"
# 检查参数
case "$1" in
"help"|"-h"|"--help")
show_help
;;
"dev")
check_dependencies
check_env
start_server "dev"
;;
*)
check_dependencies
check_env
start_server
;;
esac
}
# 执行主逻辑
main "$@"