Aplikasi ini dibuat menggunakan JHipster 8.7.3, Anda dapat menemukan dokumentasi dan bantuan di https://www.jhipster.tech/documentation-archive/v8.7.3.
Node diperlukan untuk pembuatan dan direkomendasikan untuk pengembangan. package.json
selalu dibuat untuk pengalaman pengembangan yang lebih baik dengan hook yang lebih cantik, commit, skrip, dan sebagainya.
Di root proyek, JHipster menghasilkan file konfigurasi untuk alat-alat seperti git, prettier, eslint, husky, dan lainnya yang terkenal dan Anda dapat menemukan referensi di web.
/src/*
struktur mengikuti struktur Java default.
.yo-rc.json
- File konfigurasi Yeoman Konfigurasi JHipster disimpan dalam file ini di kunci generator-jhipster
. Anda mungkin menemukan generator-jhipster-*
untuk konfigurasi cetak biru tertentu.
.yo-resolve
(opsional) - Penyelesai konflik Yeoman Memungkinkan untuk menggunakan tindakan tertentu ketika konflik ditemukan dengan melewatkan perintah untuk file yang cocok dengan suatu pola. Setiap baris harus cocok dengan [pattern] [action]
dengan pola berupa pola Minimatch dan tindakan berupa lewati (default jika dihilangkan) atau paksa. Baris yang dimulai dengan #
dianggap sebagai komentar dan diabaikan.
.jhipster/*.json
- file konfigurasi entitas JHipster
npmw
- pembungkus untuk menggunakan npm yang diinstal secara lokal. JHipster menginstal Node dan npm secara lokal menggunakan alat build secara default. Pembungkus ini memastikan npm diinstal secara lokal dan menggunakannya untuk menghindari beberapa perbedaan yang dapat disebabkan oleh versi yang berbeda. Dengan menggunakan ./npmw
alih-alih npm
tradisional, Anda dapat mengonfigurasi lingkungan tanpa Node untuk mengembangkan atau menguji aplikasi Anda.
/src/main/docker
- Konfigurasi Docker untuk aplikasi dan layanan tempat aplikasi bergantung
Sistem build akan menginstal secara otomatis versi Node dan npm yang direkomendasikan.
Kami menyediakan pembungkus untuk meluncurkan npm. Anda hanya perlu menjalankan perintah ini ketika dependensi berubah di package.json.
./npmw install
Kami menggunakan skrip npm dan Angular CLI dengan Webpack sebagai sistem build kami.
Jalankan perintah berikut di dua terminal terpisah untuk menciptakan pengalaman pengembangan yang menyenangkan di mana browser Anda menyegarkan secara otomatis ketika file berubah di hard drive Anda.
./mvnw
./npmw start
Npm juga digunakan untuk mengelola dependensi CSS dan JavaScript yang digunakan dalam aplikasi ini. Anda dapat meningkatkan dependensi dengan menentukan versi yang lebih baru di package.json. Anda juga dapat menjalankan ./npmw update
dan ./npmw install
untuk mengelola dependensi. Tambahkan tanda help
pada perintah apa pun untuk melihat bagaimana Anda dapat menggunakannya. Misalnya, ./npmw help update
.
Perintah ./npmw run
akan mencantumkan semua skrip yang tersedia untuk dijalankan pada proyek ini.
JHipster dikirimkan dengan dukungan PWA (Progressive Web App), dan dinonaktifkan secara default. Salah satu komponen utama PWA adalah pekerja layanan.
Kode inisialisasi pekerja layanan dinonaktifkan secara default. Untuk mengaktifkannya, batalkan komentar pada kode berikut di src/main/webapp/app/app.config.ts
:
ServiceWorkerModule . register ( 'ngsw-worker.js' , { enabled : false } ) ,
Misalnya, untuk menambahkan pustaka Leaflet sebagai ketergantungan runtime aplikasi Anda, jalankan perintah berikut:
./npmw install --save --save-exact leaflet
Untuk mendapatkan manfaat dari definisi tipe TypeScript dari repositori PastiDiketik dalam pengembangan, Anda akan menjalankan perintah berikut:
./npmw install --save-dev --save-exact @types/leaflet
Kemudian Anda akan mengimpor file JS dan CSS yang ditentukan dalam instruksi instalasi perpustakaan sehingga Webpack mengetahuinya: Edit file src/main/webapp/app/app.config.ts:
import 'leaflet/dist/leaflet.js';
Edit file src/main/webapp/content/scss/vendor.scss:
@import 'leaflet/dist/leaflet.css';
Catatan: Masih ada beberapa hal lain yang harus dilakukan untuk Leaflet yang tidak akan kami jelaskan secara rinci di sini.
Untuk petunjuk lebih lanjut tentang cara mengembangkan dengan JHipster, lihat Menggunakan JHipster dalam pengembangan.
Anda juga dapat menggunakan Angular CLI untuk menghasilkan beberapa kode klien khusus.
Misalnya perintah berikut:
ng generate component my-component
akan menghasilkan beberapa file:
create src/main/webapp/app/my-component/my-component.component.html
create src/main/webapp/app/my-component/my-component.component.ts
update src/main/webapp/app/app.config.ts
Untuk membuat toples terakhir dan mengoptimalkan aplikasi jhipsterSampleApplication untuk produksi, jalankan:
./mvnw -Pprod clean verify
Ini akan menggabungkan dan mengecilkan file CSS dan JavaScript klien. Itu juga akan mengubah index.html
sehingga mereferensikan file-file baru ini. Untuk memastikan semuanya berfungsi, jalankan:
java -jar target/*.jar
Kemudian navigasikan ke http://localhost:8080 di browser Anda.
Lihat Menggunakan JHipster dalam produksi untuk lebih jelasnya.
Untuk mengemas aplikasi Anda sebagai perang agar dapat disebarkan ke server aplikasi, jalankan:
./mvnw -Pprod,war clean verify
JHipster Control Center dapat membantu Anda mengelola dan mengontrol aplikasi Anda. Anda dapat memulai server pusat kendali lokal (dapat diakses di http://localhost:7419) dengan:
docker compose -f src/main/docker/jhipster-control-center.yml up
Untuk meluncurkan pengujian aplikasi Anda, jalankan:
./mvnw verify
Tes kinerja dijalankan oleh Gatling dan ditulis dalam Scala. Mereka berada di src/test/java/gatling/simulations.
Anda dapat menjalankan semua tes Gatling dengan
./mvnw gatling:test
Tes unit dijalankan oleh Jest. Mereka berada di src/test/javascript/ dan dapat dijalankan dengan:
./npmw test
Pengujian end-to-end UI didukung oleh Cypress. Mereka berada di src/test/javascript/cypress dan dapat dijalankan dengan memulai Spring Boot di satu terminal ( ./mvnw spring-boot:run
) dan menjalankan tes ( ./npmw run e2e
) di terminal kedua.
Anda dapat menjalankan audit Lighthouse otomatis dengan cypress-audit dengan menjalankan ./npmw run e2e:cypress:audits
. Anda sebaiknya hanya menjalankan audit ketika aplikasi Anda dikemas dengan profil produksi. Laporan mercusuar dibuat di target/cypress/lhreport.html
Sonar digunakan untuk menganalisis kualitas kode. Anda dapat memulai server Sonar lokal (dapat diakses di http://localhost:9001) dengan:
docker compose -f src/main/docker/sonar.yml up -d
Catatan: kami telah menonaktifkan pengalihan autentikasi paksa untuk UI di src/main/docker/sonar.yml untuk pengalaman unik saat mencoba SonarQube, untuk kasus penggunaan nyata, aktifkan kembali.
Anda dapat menjalankan analisis Sonar dengan menggunakan sonar-scanner atau dengan menggunakan plugin maven.
Kemudian, jalankan analisis Sonar:
./mvnw -Pprod clean verify sonar:sonar -Dsonar.login=admin -Dsonar.password=admin
Jika Anda perlu menjalankan kembali fase Sonar, pastikan untuk menentukan setidaknya fase initialize
karena properti Sonar dimuat dari file sonar-project.properties.
./mvnw initialize sonar:sonar -Dsonar.login=admin -Dsonar.password=admin
Selain itu, Daripada meneruskan sonar.password
dan sonar.login
sebagai argumen CLI, parameter ini dapat dikonfigurasi dari sonar-project.properties seperti yang ditunjukkan di bawah ini:
sonar.login=admin
sonar.password=admin
Untuk informasi lebih lanjut, lihat halaman Kualitas kode.
JHipster menghasilkan sejumlah file konfigurasi Docker Compose di folder src/main/docker/ untuk meluncurkan layanan pihak ketiga yang diperlukan.
Misalnya, untuk memulai layanan yang diperlukan di container Docker, jalankan:
docker compose -f src/main/docker/services.yml up -d
Untuk menghentikan dan menghapus kontainer, jalankan:
docker compose -f src/main/docker/services.yml down
Integrasi Penulisan Docker Spring diaktifkan secara default. Dimungkinkan untuk menonaktifkannya di application.yml:
spring :
...
docker :
compose :
enabled : false
Anda juga dapat sepenuhnya melakukan dockerisasi pada aplikasi Anda dan semua layanan yang bergantung padanya. Untuk mencapai hal ini, pertama-tama buat image Docker aplikasi Anda dengan menjalankan:
npm run java:docker
Atau buat image Docker arm64 saat menggunakan os prosesor arm64 seperti MacOS dengan keluarga prosesor M1 yang menjalankan:
npm run java:docker:arm64
Kemudian jalankan:
docker compose -f src/main/docker/app.yml up -d
Untuk informasi lebih lanjut lihat Menggunakan Docker dan Docker-Compose, halaman ini juga berisi informasi tentang sub-generator Docker Compose ( jhipster docker-compose
), yang mampu menghasilkan konfigurasi Docker untuk satu atau beberapa aplikasi JHipster.
Untuk mengonfigurasi CI untuk proyek Anda, jalankan sub-generator ci-cd ( jhipster ci-cd
), ini memungkinkan Anda membuat file konfigurasi untuk sejumlah sistem Integrasi Berkelanjutan. Lihat halaman Menyiapkan Integrasi Berkelanjutan untuk informasi lebih lanjut.