Saya telah membuat aplikasi next.js. Halaman bekerja dengan baik di env pengembangan, tetapi jika saya mencoba menjalankan produksi hanya halaman index.js yang dimuat dengan benar, semua halaman lainnya berakhir dengan 404.

Npm run build menghasilkan yang berikut:

reating an optimized production build ...

Compiled successfully.

Warning: You have opted-out of Automatic Prerendering due to `getInitialProps` in `pages/_app`.
Read more: https://err.sh/next.js/opt-out-automatic-prerendering

Page                                    Size     Files  Packages
┌ σ /                                   66.8 kB      4        27
├   /_app                               17.9 kB      0        31
├   /_document
├   /_error                             397 B        0        27
├ σ /Products/[specificPage]/Dashboard  404 B        4        27
├ σ /Products/Overview                  95.1 kB      9        30
├ σ /Products/Roadmap                   475 B        4        27
├ σ /Strategy/Goals                     451 B        4        27
└ σ /Strategy/Metrics                   459 B        4        27

Oleh karena itu saya berasumsi bahwa halaman dibangun dengan benar. Ini sekarang membuat saya cukup bingung.

Dari Halaman index.js saya, saya memiliki tautan berikutnya/ke/strategi/tujuan yang dimuat selamanya jika diklik. Seperti yang dikatakan jika diakses langsung halaman tersebut menampilkan 404.

EDIT: Konsol juga hanya menampilkan Siap di http://localhost:3000 --> tidak menampilkan log apa pun terkait halaman pembuatan, tidak yakin jika ini harus terjadi dalam produksi atau hanya dalam pengembangan.

5
Stefan Januschke 21 September 2019, 13:03

1 menjawab

Jawaban Terbaik

TLDR: /pages hanya boleh berisi huruf kecil.

(Dijawab sendiri)

Masalahnya adalah bahwa nama folder dan file (/Product/Overview misalnya) di mana dikapitalisasi yang tidak ada masalah dalam pengujian karena selanjutnya diarahkan langsung dan case tidak ada masalah.

Mengeksekusi versi yang dibangun, sistem file dari lingkungan produksi mengambil alih untuk perutean. Beberapa sistem operasi (macOS untuk saya) peka huruf besar-kecil dan tidak akan merutekan dengan benar karena halaman tidak ditemukan.

Diperbaiki dengan memperkecil semua yang ada di direktori /pages.

8
Stefan Januschke 26 Juni 2020, 03:19