命令行快速启动前后端分离项目[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 协议》,转载必须注明作者和本文链接
无论在现实或是网络中,我都是孤独的。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
讨论数量: 7

挺帅的....

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

1年前 评论
小李世界 (楼主) 1年前
徵羽宫 (作者) 1年前
小李世界 (楼主) 1年前

你家哥哥炒粉放鸡精了

1年前 评论
小李世界 (楼主) 1年前
徵羽宫 1年前

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