Heroku dan Bereaksi: Menyebarkan Aplikasi Pertama Anda

Halo semuanya. Seiring dengan musim semi, kursus baru datang ke OTUS, yang kami mulai perkenalkan hari ini. Sudah membuka rekrutmen untuk kursus "Pengembang React.js . " Anda dapat mempelajari lebih lanjut tentang kursus di webinar gratis , yang akan diadakan pada 11 Maret. Sebagai bagian dari webinar yang sama, aplikasi web kecil di ReactJS akan dikembangkan.

Dan sekarang kami sarankan Anda membaca artikel tentang penyebaran aplikasi pertama Anda, yang ditulis oleh penulis lepas kami.





Template start-up Buat-reaksi-aplikasi dan Heroku adalah alat yang hebat untuk membuat aplikasi berbasis cloud dengan cepat, tetapi dokumentasi Bereaksi dan Heroku secara mengejutkan hanya memberikan sedikit informasi tentang cara meluncurkan aplikasi Bereaksi Anda di Heroku. Langkah-langkah yang dijelaskan dalam artikel ini akan bekerja pada proyek apa pun yang dibuat menggunakan create-react-app . Pada artikel kami, kami akan menginstal pada aplikasi Heroku todo sederhana dengan backend paling minimal, hanya untuk melihat prosesnya sendiri. Tetapi hal pertama yang pertama:

Apa itu Heroku secara umum? Mengapa saya membutuhkannya?


Heroku adalah platform platform-as-a-service (PaaS) berbasis cloud yang mendukung banyak bahasa pemrograman (dan benar-benar membanggakan dan menonjol). Sejarah Heroku dimulai pada 2007, dan kemudian Ruby adalah bahasa pemrograman pertama. Sekarang mendukung Java, Node.js, Scala, Clojure, Python, PHP dan Go.

Mengapa saya membutuhkan cloud ini? Saya dapat membeli hosting murah


Ya, Anda dapat membeli hosting apa pun untuk diri sendiri dan menginstal server Node.js di sana, jika layanan ini didukung di hosting tersebut. Namun, platform cloud memiliki kualitas seperti, misalnya, elastisitas dan pengukuran konsumsi - jika banyak pengguna mengunjungi layanan Anda, maka platform tersebut kemungkinan besar akan secara otomatis (atau Anda sendiri menggunakan alat yang disediakan oleh platform) skala atau mempersempit alurnya. Akuntansi untuk konsumsi berarti bahwa Anda hanya akan membayar sumber daya yang dibutuhkan. Platform cloud memiliki lebih banyak keunggulan, daftar lengkap dapat ditemukan di sini . Baiklah, kita akan langsung menuju penyebaran.

Membuat aplikasi Bereaksi Anda sendiri

Template buat-reaksi-aplikasi macam apa ini ? Mungkin tidak mungkin bahkan sedikit terlibat dalam mengembangkan aplikasi Bereaksi dan tidak mengetahuinya. Template ini menyediakan React, React-dom, Webpack, ESLint "under the hood." Tentu saja, Anda dapat membuat aplikasi Bereaksi sendiri, tetapi mengapa membuat aplikasi yang kompleks dengan banyak dependensi ketika Anda dapat menggunakan sepeda siap pakai?

Untuk memulai, pastikan Anda memiliki Node.js diinstal .

Untuk membuat aplikasi baru, masukkan perintah berikut di konsol:

 npx create-react-app test-app
 cd test-app

Catatan yang Berguna
, , create-react-app . npm install -g create-react-app. , ( , ), - , react-scripts 3.4.0. , npm uninstall -g create-react-app.

Oke, Anda mengirim paket dan sekarang Anda ingin menggunakannya. Agar tidak menyebarkan paket sederhana dengan satu komponen yang menciptakan-reaksi-aplikasi memberikan keluar dari kotak, saya memutuskan untuk menulis aplikasi todo kecil, kode sumber yang, jika Anda juga ingin mencoba mengisi aplikasi Anda, dapat ditemukan di sini . Singkatnya, negara disimpan di sana dalam bentuk entri baru dan modis , di mana teks kasus dan id mereka disimpan , yang dihasilkan langsung dari Date.now(). Saya mengambil bagian dari tata letak komponen dari Bahan-UI bereaksi .

Anda dapat menempatkan aplikasi ini untuk diri sendiri dan menggunakannya dengan:

 npm i -D
 npm start

Kemudian kita memiliki kesempatan luar biasa untuk bermain-main dan menciptakan urusan kita sendiri. Namun, semua fitur yang ada di aplikasi ini adalah untuk menyimpan berbagai hal dalam keadaan . Saya tidak membuat garter ke server atau setidaknya ke localStorage , tujuan artikel ini bukan ini. Misalkan saya sangat paranoid dan akan merekam urusan saya hanya dengan satu penyertaan tab browser.

Buat favicon Anda

Mengapa kita bahkan perlu server Node.js jika tidak ada pekerjaan dengan database? Dengan menggunakan server, kami akan memberikan favicon dan semua kode lainnya. Di aplikasi Bereaksi kami , buka folder publik dan hapus templat favicon.ico dari sana. Saya akan mengambil ikon dari sini dan mentransfernya ke folder publik.

Buat server Express Anda

Selanjutnya, kami membuat server Express kami untuk melayani pembangunan. Langsung di folder aplikasi, buat file server.jsdi mana karya backend kami akan dibuka.

Kami menulis yang berikut di dalamnya:

 const express = require('express');
 const favicon = require('express-favicon');
 const path = require('path');
 const port = process.env.PORT || 8080;
 
 //           
 const app = express();
 app.use(favicon(__dirname + '/build/favicon.png')); 
 
 //    
 app.use(express.static(__dirname));
 app.use(express.static(path.join(__dirname, 'build')));
 
 //  
 app.get('/ping', function (req, res) {
  return res.send('pong');
 });
 
 // html
 app.get('/*', function (req, res) {
 res.sendFile(path.join(__dirname, 'build', 'index.html'));
 });
 app.listen(port);

Karena kita menggunakan paket express , express-favicon dan path , kita perlu menginstalnya:

 yarn add express express-favicon path -D

Di kami package.jsonmengubah perintah mulai sebagai berikut:

 "start": "node server.js",

Jalankan build

Selanjutnya, kita perlu membangun aplikasi menggunakan perintah berikut:

 yarn build

Akan menyenangkan untuk menguji apakah aplikasi kita berfungsi dengan benar. Untuk melakukan ini, kami merekrut yarn startdan mengevaluasi seberapa benar kerjanya.

Sembunyikan peta sumber

Mungkin Anda tidak ingin orang lain dapat mengakses kode sumber Anda. Dalam hal ini, Anda perlu menghapus akses ke milik Anda sourcemap. Untuk melakukan ini, buat file di repositori .envdan larang pembuatan peta di dalamnya:

 GENERATE_SOURCEMAP=false

Catatan yang Berguna
Source map ( , , , , - ). — source map, , .

Langsung Menyebarkan

Jika Anda belum memiliki akun di heroku , Anda harus mendaftar di sini . Untuk penyebaran, Anda juga perlu menginstal Heroku CLI dari sini . Uji operasinya dengan menulis login heroku di baris perintah. Selanjutnya Anda akan menemukan arahan ulang ke situs web heroku, tempat Anda harus masuk.

Kemudian masukkan nama aplikasi Anda. Dalam kasus saya, itu akan menjadi todoisakura313 , karena Anda tidak dapat menggunakan karakter khusus dan garis bawah pada nama aplikasi:

 heroku create todoisakura313

Kemudian kami akan mengirimkan build kami menggunakan perintah berikut:

 npm install
 git add --all
 git commit -m "first commit"
 git push heroku master 

Perintah-perintah ini akan memungkinkan Anda untuk menambahkan dependensi, menginisialisasi git, dan mengunduh aplikasi itu sendiri.

Baik! Secara umum, semuanya sudah siap, sekarang aplikasi seharusnya sudah muncul di alamat https://< >.herokuapp.com/. Anda dapat membuka aplikasi dengan mengetik perintah berikut di konsol:

heroku open

Jika terjadi kesalahan, cari tahu apa yang salah dengan tim heroku logs --tail. Namun, secara umum, jika Anda tidak menyimpang dari instruksi dalam artikel ini, Anda seharusnya berhasil.

Itu saja! Terimakasih atas perhatiannya. Aplikasi yang berfungsi dapat ditemukan di sini , dan dengan kode yang sudah selesai - di sini .

Dan mereka yang telah membaca sampai akhir, kami mengundang Anda ke webinar gratis lainnya , di mana Anda akan mempelajari kekuatan dan kelemahan kerangka kerja JS yang paling populer untuk pengembangan Frontend, pahami tugas-tugas mana yang paling cocok untuk kerangka kerja dan Anda dapat memutuskan mana yang lebih baik untuk belajar.

All Articles