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.js
di 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');
});
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.json
mengubah 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 start
dan 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 .env
dan larang pembuatan peta di dalamnya: GENERATE_SOURCEMAP=false
Catatan yang BergunaSource 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.