Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ikuti saya dalam perjalanan saya belajar Pergi

Ikuti saya dalam perjalanan saya belajar Pergi

Patricia Arquette
Patricia Arquetteasal
2024-11-06 16:51:02620semak imbas

Follow me on my journey learning Go

Saya sedang membangunkan permainan kecil menggunakan Go di bahagian belakang dan React dengan TypeScript untuk bahagian hadapan. Dalam pekerjaan harian saya, saya kebanyakannya bekerja dengan PHP menggunakan rangka kerja Laravel, jadi Go ialah bahasa pengaturcaraan baharu untuk saya dan saya mendapati cara terbaik untuk belajar adalah dengan melakukan. Jadi ikuti saya dalam perjalanan saya membina projek ini. Saya sudah separuh jalan, tetapi saya akan berkongsi sebarang PR masa hadapan dengan anda.

Permainan ini dipanggil Suspect Recall. Anda boleh melihat apa yang saya ada setakat ini di sini: https://www.suspectrecall.com Mula-mula anda melihat suspek selama beberapa saat dan kemudian anda perlu mengingati atribut mana yang dimiliki oleh suspek. Saya akan menambah baik reka bentuk sedikit kemudian, walaupun itu bukan fokus projek ini.

Seterusnya pada todos ialah mengambil suspek rawak. Saya membuka PR untuk bahagian kod itu: https://github.com/artisanphil/suspect_recall/pull/4 Ulasan kod dialu-alukan! Saya juga bercadang untuk menyimpan jawapan supaya saya boleh mendapatkan idea tentang bilangan orang yang mencuba tapak web dan berapa banyak kesilapan yang mereka lakukan.

Gambaran keseluruhan struktur kod

Pada asalnya saya pernah mempunyai dua folder, bahagian belakang dan bahagian hadapan, tetapi saya mendapati ia sebenarnya berfungsi paling baik untuk mempunyai kod hujung belakang dalam akar dan folder hujung hadapan di dalam folder hujung belakang.
Kami tidak perlu menggunakan kod bahagian hadapan, hanya kod yang dihasilkan daripada binaan. Ketahui dalam fail Readme cara menjalankan kod untuk pembangunan setempat.

Jika anda baru sahaja memuat turun projek, anda perlu menjalankan pemasangan npm dalam folder hadapan untuk menarik kebergantungan ke dalam folder 'node_modules'.
Cipta fail .env dalam folder hadapan dan tambah REACT_APP_MODE=pembangunan. Ini supaya apabila menjalankan kod frontend dengan muat semula langsung, ia akan memanggil titik akhir api yang berjalan pada port lain. Kemudian jalankan npm run start.

Kini kita boleh pergi ke localhost:3000 dan melihat bahagian hadapan. Seperti yang anda akan lihat, titik akhir api tidak akan berfungsi, jadi mari pergi ke folder akar dan jalankan go run .. Ambil perhatian bahawa kami perlu membenarkan permintaan merentas domain apabila dijalankan secara setempat, kerana ia berjalan pada port lain (port 8080, bahagian hadapan pada 3000).

c := cors.New(cors.Options{
        AllowedOrigins:   []string{"http://localhost:3000"},
        AllowedHeaders:   []string{"Origin", "Content-Type", "Accept"},
        AllowCredentials: true,
    })

Apabila dijalankan pada pengeluaran, semuanya akan dijalankan pada port yang sama kerana kami hanya menjalankan kod bahagian belakang selepas membina kod bahagian hadapan dengan binaan npm run yang mencipta fail statik. BTW, saya menggunakan kod ke Google App Engine.

Sila semak PR ini di mana saya menambah api baharu untuk mengambil suspek secara dinamik (yang pada masa ini berkod keras) dan memanggil titik akhir itu di bahagian hadapan: https://github.com/artisanphil/suspect_recall/pull/4

Terima kasih terlebih dahulu untuk sebarang ulasan tentang cara kod itu boleh dipertingkatkan dan saya akan sedaya upaya untuk menjawab sebarang soalan yang anda ada.

Untuk melihat kemajuan masa hadapan, sila tonton repositori ini: https://github.com/artisanphil/suspect_recall

Atas ialah kandungan terperinci Ikuti saya dalam perjalanan saya belajar Pergi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn