命令行快速启动前后端分离项目[GPT 优化版]

博客:前后分离,快速打开 PhpStorm 项目和启动测试环境的脚本 后,使用 GPT 4 优化、自己修正错误后的代码。

命令行快速启动前后端分离项目【GPT 优化版】

#!/bin/bash

# 环境:macOS
# 功能:快速启动 PhpStorm 和 WebStorm 以进行 Laravel 和 React 前后分离项目的代码开发

# Set up projects and their directories
Laravel="Laravel"
LaravelPath="antic-api" # Laravel 项目文件夹名
React="React"
ReactPath="antic" # React 项目文件夹名
PackageManager="yarn"
PhpstormProjectsDir="$HOME/PhpstormProjects" # PhpStorm 默认文件夹
WebstormProjectsDir="$HOME/WebstormProjects" # WebStorm 默认文件夹

# Function to kill process
kill_process() {
    process=$1
    command=$2

    ps -fe | grep "$command" | grep -v grep > /dev/null
    if [ $? -ne 1 ]; then
        echo "Stopping $process"
        pid=$(ps -fe | grep "$command" | grep -v grep | awk '{print $2}')
        kill -9 $pid
        echo "Kill process result: $?"
    fi
}

# Function to start process
start_process() {
    process=$1
    process_path=$2
    command=$3

    ps -fe | grep "$command" | grep -v grep > /dev/null
    if [ $? -ne 0 ]; then
        echo "Starting $process"
        screen -dmS $process $command
    else
        echo "$process is already running"
    fi
}

if [ "$1" = "stop" ]; then
    kill_process "Laravel" "php $LaravelPath/artisan serve"
    kill_process "soketi" "soketi start"
    kill_process "React" "$PackageManager --cwd $ReactPath start"

    exit;
fi

# Check if PhpStorm and WebStorm are installed
if ! command -v phpstorm &> /dev/null || ! command -v webstorm &> /dev/null; then
    echo "PhpStorm or WebStorm could not be found"
    exit
fi

# Open projects in PhpStorm and WebStorm
cd $PhpstormProjectsDir
phpstorm $LaravelPath
cd $WebstormProjectsDir
webstorm $ReactPath

# Start Laravel
cd $PhpstormProjectsDir
start_process "Laravel" "$LaravelPath/artisan serve" "php $LaravelPath/artisan serve"

# Start soketi
start_process "soketi" "" "soketi start"

# Start React
cd $WebstormProjectsDir
start_process "React" "cwd $ReactPath start" "$PackageManager --cwd $ReactPath start"
本作品采用《CC 协议》,转载必须注明作者和本文链接
无论在现实或是网络中,我都是孤独的。
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 7

挺帅的....

要是启动的时候可以从多个项目中选一个就更好了。 :flushed:

10个月前 评论
小李世界 (楼主) 10个月前
徵羽宫 (作者) 10个月前
小李世界 (楼主) 10个月前

你家哥哥炒粉放鸡精了

9个月前 评论
小李世界 (楼主) 9个月前
徵羽宫 9个月前

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!