Keterangan
React Core Boilerplate adalah titik awal untuk membangun aplikasi web reaksi universal/isomorfik dengan ASP.NET Core 3 dan rendering sisi server. Semua berfungsi dengan baik di luar kotak. Ini juga bermanfaat bagi pemula. Proyek ini berisi sistem otorisasi palsu. Jadi Anda dapat mengubahnya menjadi identitas atau yang lain.
Versi TypeScript dan JavaScript tersedia. ⚡️
Visual Studio Marketplace
Tangkapan layar
Perubahan
v. 2.0.3 (2020-07-03)
- Menambahkan dukungan Docker. ?
- Menambahkan pencegahan serangan XSS, terima kasih kepada Xuhaojun.
- Dependensi yang diperbarui, dihapus ruang nama yang tidak digunakan.
v. 2.0.0 (2020-05-08)
- Bermigrasi ke .NET Core 3.1 . ?
- Bermigrasi ke
Bootstrap 4 menggunakan react-bootstrap. - Bermigrasi ke formik.
-
Redux Stores bermigrasi ke redux toolkit untuk meningkatkan pengembangan dengan redux. Kode yang dikurangi. - Peningkatan konfigurasi logging dan
Serilog . - Menambahkan dukungan HTTPS ke
server-side rendering . - Menambahkan kode status yang dapat diedit di rute untuk SEO.
- Memperbarui beberapa dependensi.
- Perbaikan stabilitas.
- Disapisi dependensi NPM yang tidak perlu.
v. 1.7.1 (2019-06-02)
- Diperbarui
React , Redux , React-Router dan paket NPM lainnya yang terhubung dengannya. - Dependensi NPM kritis yang diperbarui.
- Disapisi dependensi NPM yang tidak perlu.
v. 1.7.0 (2019-05-05)
- Restrukturisasi repositori.
- Menambahkan versi javascript dari react core boilerplate. ?
- Perbaikan stabilitas.
- Dependensi kritis yang diperbarui.
v. 1.6.3 (2019-03-19)
-
image-webpack-loader DIHAPUS Karena ketidakstabilan.
v. 1.6.2 (2019-03-15)
- Plugin
Terser Stabil yang diinstal. -
React yang diperbarui dan paket lain untuk itu (termasuk tipe). -
WebPack yang diperbarui. - Konfigurasi Webpack yang Diperbarui untuk Mode Pengembangan.
v. 1.6.0 (2019-03-13)
- Terbarui
.NET Core Dependency ke v. 2.2 . - Paket NPM Kritis yang Diperbarui.
- Ketergantungan
WebPack yang Diperbarui. - Vendor
WebPack yang ditingkatkan dan konfigurasi bundel. - File
.csproj yang ditingkatkan untuk membangun dan menerbitkan skenario. - Memperbaiki pembuatan peta sumber dalam mode pengembangan.
- Memperbaiki kompilasi bundel dalam mode produksi.
- Perbaikan stabilitas lainnya.
v. 1.5.4 (2019-02-04)
- Menambahkan beberapa fitur kecil.
- Perbaikan Bug:
collapsing of the Bootstrap navigation bar , fixed controller and frontend's service in person update case . - Dependensi yang diperbarui.
v. 1.5.3 (2018-12-04)
- Menambahkan Polyfills untuk mendukung IE9, IE11:
@babel/polyfill , custom-event-polyfill . - Dependensi yang diperbarui.
v. 1.5.2 (2018-12-01)
- Menambahkan pencarian langsung FullText.
- Menambahkan plugin webpack:
case-sensitive-paths-webpack-plugin , react-dev-utils - Plugin yang ditambahkan dengan contoh:
awesome-debounce-promise untuk mencegah melakukan pertanyaan yang sering dalam pencarian langsung, formik untuk membuat formulir di React tanpa air mata. - Memperbaiki beberapa kesalahan fungsional dan teks.
v. 1.5.0 (1) (2018-11-07)
- Menambahkan
hosting.json yang berisi pengaturan hosting dan akan digunakan dalam build produksi. - Menambahkan paket
bind-decorator dan contoh dengan itu. - Mempercepat pembangunan bundel web.
- Paket domain-wait yang diperbarui. Pembaruan ini memungkinkan Anda untuk mencegah panggilan untuk permintaan pengambilan isomorphic dua kali (di server prerender dan setelahnya - di sisi klien).
- Paket Redux-Thunk yang Diperbarui.
- Menambahkan komponen reaksi baru untuk mencegah sakit kepala saat Anda membangun aplikasi web:
ModalComponent , Input , MultiSelect , Form . Komponen -komponen ini digunakan dalam contoh.
v. 1.4.5 (2018-11-02)
- Menambahkan fitur baru memungkinkan aplikasi web untuk berbagi cookie browser dengan nodeServices. Sekarang SSR menghasilkan kode HTML untuk pengguna yang diautentikasi dan membuat permintaan isomorfik yang diautentikasi.
- Metode yang ditambahkan
sendFormData ke ServiceBase.ts yang memungkinkan Anda mengunggah file ke server.
v. 1.3.5 (2018-10-26)
- Paket NPM yang Diperbarui:
react , redux , react-router . - Diganti karena penyusutan
react-router-redux oleh connected-react-router baru. - Memperbaiki komponen
Loader yang mengalami masalah dalam beberapa kasus.
v. 1.3.2 (2018-10-25)
- Paket NPM yang tidak digunakan yang dihapus.
- Menambahkan package-lock.json.
- Proyek tetap.
v. 1.3.0 (2018-10-22)
- Paket Bereaksi yang Diperbarui.
- Menambahkan komponen
AppComponent yang memungkinkan Anda untuk melakukan "pembaruan paksa" dari komponen "macet" (untuk komponen Loader ex. LoginPage ). - Menambahkan Serilog Logger yang masuk ke file (
logs/ direktori) dan juga ke penyedia cloud Azure.
v. 1.2.1 (2018-10-20)
- Memperbaiki komponen
Loader yang tidak benar dengan SSR dalam beberapa kasus.
v. 1.2.0 (2018-10-18)
- Ketergantungan yang diperbarui dari paket "ASP.NET Core" karena kerentanan.
- Fitur tambahan yang memungkinkan Anda untuk meneruskan objek JSON ke kueri URL untuk metode GET dan Hapus.
v. 1.1.0 (2018-10-16)
- Komponen Fixed
AppRoute . Diselesaikan masalah dengan params lewat ke komponen dari reaksi router. Jika Anda ingin memperbaikinya secara manual, lihat komit di sini.
Penggunaan
Instalasi
- Instal .NET Core SDK dan runtime dengan tautan terbaru.
- Instalasi node stabil terbaru.
- Pada proses pertama Anda harus menutup proyek jika berjalan di Visual Studio atau IDE lain. Buka Folder Proyek di Konsol dan Jalankan
npm install . - Jalankan perintah berikut untuk pengembangan di direktori proyek Anda. Ini akan menyusun bundel utama dan vendor.
- Jika Anda menggunakan Visual Studio 20xx, alih -alih
IIS Express pilih YourProjectName atau ReactCoreBoilerplate : Klik panah bawah di dekat IIS Express dan pilih Docker atau opsi lainnya. - Bangun dan jalankan proyek. Ini akan dimulai di Windows Console.
Ubah konfigurasi vendor webpack
Jika Anda memodifikasi konfigurasi vendor webpack, Anda harus mengkompilasi ulang bundel vendor secara manual. Jalankan perintah berikut di direktori proyek Anda untuk melakukan ini:
Jalankan dengan Docker
Visual Studio 20xx
Cukup pilih opsi Docker di toolbar.
Bangun wadah
Jalankan perintah berikut di direktori proyek Anda:
docker build -t [my image name] .
Di mana [my image name] adalah nama gambar Docker Anda.
Jalankan wadah produksi di windows dengan dukungan https (untuk tes)
- Percayai sertifikat pengembangan HTTPS ASP.NET Core di Windows dan MacOS:
dotnet dev-certs https -ep %USERPROFILE% . aspnet h ttps a spnetapp.pfx -p [my password]
Di mana [my password] adalah kata sandi Anda.
2. Eksekusi:
dotnet dev-certs https --trust
- Bangun wadah Anda.
- Menjalankan:
docker run --rm -it -p 7000:7000 -p 7001:7001 -e ASPNETCORE_URLS= " https://+;http://+ " -e ASPNETCORE_Kestrel__Certificates__Default__Password= " [my password] " -e ASPNETCORE_Kestrel__Certificates__Default__Path=/https/aspnetapp.pfx -v %USERPROFILE% . aspnet h ttps:/https/ [my image name]
Di mana [my password] - Kata sandi sertifikat Anda (dari langkah pertama), [my image name] - Nama gambar Docker Anda.
Elemen
Perpustakaan pihak ketiga:
- TypeScript - semua frontend berdasarkan naskah.
- fork-ts-checker-webpack-plugin-plugin webpack yang menjalankan typeScript tipe checker pada proses terpisah.
- React - Perpustakaan Utama yang berfungsi sebagai isomorfik.
- React Router - Router untuk Bereaksi.
- React -Bootstrap - Bootstrap 4 untuk React.
- React -Helmet - Pembantu SEO isomorfik.
- Redux - Store.
- Redux Toolkit - Perpustakaan untuk meningkatkan pengembangan dengan Redux.
- Formik - Perpustakaan untuk Bentuk Bangunan untuk Bereaksi.
- Connected React Router - Redux Binding untuk React Router.
- Sass - Preprocessor CSS.
- Webpack 4 - Bundler.
- Axios - isomorphic fetch util.
- TS-NAMEOF-Memungkinkan Anda menggunakan nama input yang aman dalam bentuk.
- JSON-TO-URL-memungkinkan Anda untuk meneruskan objek JSON ke kueri URL untuk mendapatkan dan menghapus metode.
- Serilog - memungkinkan Anda untuk masuk ke file (
logs/ direktori) dan juga ke penyedia cloud Azure.
Perpustakaan Sendiri / Garpu Tetap:
- Penggantian domain-wait-domain-tugas dengan dukungan async/waku dan fitur baru.
- Nval-validator vanilla JS validasi-jQuery-like.
- Nval -tippy - Validasi vanilla JS dengan tooltips yang luar biasa.
- NSerializeJson - Bentuk fleksibel untuk JSON Serializer berdasarkan Vanilla JS.
Masalah
Masalah yang diketahui
Kesalahan di ./clientapp/styles/loaders/xxx.scss (./node_modules/csss-loader/dist/cjs.js! [...]): Kesalahan: Enoent: Tidak ada file atau direktori, skandir 'xxx node_modules node-sass vendor'
Jalankan npm i dan npm rebuild node-sass di direktori proyek Anda.
Penggantian Modul Hot Webpack [HMR] tidak berfungsi dengan IIS
Akan diperbaiki. Gunakan Kestrel untuk pengembangan sebagai gantinya.
Kesalahan HTTP 500
Mungkin Anda tidak memiliki versi terbaru dari Node.js.
Kesalahan HTTP 502.5
Anda harus menginstal "ASP.NET Core SDK" terbaru dan "Runtime and Hosting Bundle" menggunakan tautan ini: https://www.microsoft.com/net/download/dotnet-core/2.1
Kesalahan http 500 saat di -host di Azure
Atur "situs web_node_default_version" ke 6.11.2 di "Pengaturan Aplikasi" di Azure.
Kesalahan saat berjalan dalam mode pengembangan setelah penerbitan
Jalankan npm run build:dev di Dir proyek.
Masalah lainnya
- Jika Anda akan memiliki masalah dengan proyek dimulai, Anda dapat melihat kesalahan dalam log ("/log" direktori). Tolong, lakukan ini sebelum membuka masalah di GitHub. Jangan lupa untuk menyebutkan versi react core boilerplate (
JavaScript atau TypeScript )
Lisensi
Mit