GraphQL API อีคอมเมิร์ซแบบไม่มีหัวซึ่งใช้ Laravel เป็นแบ็กเอนด์
ก่อนอื่นเราจะติดตั้งบริการ laravel backend api ก่อนอื่นเราจะติดตั้งแอป laravel ก่อน
composer create-project laravel/laravel avored-backend
cd avored-backend
composer require avored/framework
composer require avored/dummy-data
composer require avored/cash-on-delivery
composer require avored/pickup
ตั้งค่า .env และ CORS ของคุณ
เพื่อแก้ไข CORS ในแอป laravel8 ของคุณ คุณสามารถเปิด config/cors.php
และแทนที่โค้ดตามด้านล่างในไฟล์ได้
'allowed_origins' => ['http://localhost:8080'],
เมื่อการตั้งค่า .env เสร็จสิ้น เราก็สามารถติดตั้ง AvoRed E commerce ได้
php artisan avored:install
php artisan vendor:publish --provider="AvoRedFrameworkAvoRedServiceProvider"
yoursite.com/graphiql
เมื่อติดตั้ง avored/framework แล้วหลังจากนั้น เราจะตรวจสอบให้แน่ใจว่าได้ตั้งค่า CORS เพื่ออนุญาตการเข้าถึง Graphql API ผ่านส่วนหน้าใดๆ
git clone https://github.com/avored/laravel-ecommerce avored-frontend
cd avored-frontend
npm install
npm run serve
ดำเนินการคำสั่งด้านล่าง:
git clone https://github.com/avored/docker-dev.git
cd docker-dev
git clone https://github.com/avored/laravel-ecommerce ./src/frontend
docker-compose up -d
docker-compose run --rm composer create-project laravel/laravel:8.6 ./
docker-compose run --rm composer require avored/framework
docker-compose run --rm composer require avored/dummy-data avored/cash-on-delivery avored/pickup
ตอนนี้ตั้งค่าไฟล์ . .env
เปิดไฟล์ .env ของแอปที่ชื่นชอบซึ่งอยู่ที่ ./src/backend/.env
จากนั้นตั้งค่าฐานข้อมูลของคุณและ env อื่น ๆ ตามไฟล์ docker-compose.yml ของคุณ
DB_HOST=mysql
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
ตอนนี้เราเพียงแค่ต้องติดตั้ง AvoRed และสร้างบัญชีผู้ใช้ของผู้ดูแลระบบที่ต้องการ
docker-compose run --rm artisan avored:install
docker-compose run --rm artisan vendor:publish --provider="AvoRedFrameworkAvoRedServiceProvider"
ตอนนี้เราต้องตั้งค่า CORS เพื่อให้แอปพลิเคชันส่วนหน้าสามารถรับการเรียก API จากส่วนหลังได้ เปิด ./src/backend/config/cors.php
จากนั้นแทนที่บรรทัดด้านล่าง
'paths' => ['/graphql', 'sanctum/csrf-cookie'],
'allowed_origins' => ['http://localhost:8060'],
แค่นั้นแหละ. ตอนนี้คุณสามารถเยี่ยมชม http://localhost:8060
สำหรับส่วนหน้า และสำหรับแบ็กเอนด์ คุณสามารถไปที่ http://localhost:8050/admin