私のプロジェクトはrun devコマンドでうまく動作しますが、npm start他のページで404ページが見つかりませんというエラーが表示されました(pages /...)Index.jsを除きます。
フォーム(gthubの問題、ブログ)からいくつかの方法を試しましたが、何も機能しませんでした。
何か案が?実際には、run devとstartの間に違いがあるはずなのはなぜですか?開発プロセス中にアプリの問題を確認する必要があると思います
package.jsonからのスクリプト
"scripts": {
"dev": "next",
"start": "next start",
"build": "next build"
}、
そしてnext.config.js
const withCSS = require("@zeit/next-css");
module.exports = withCSS({
cssModules: true,
cssLoaderOptions: {
importLoaders: 1,
localIdentName: "[local]___[hash:base64:5]"
}});
ご覧のとおり、nextJSのインストール後は何も変更していません。
Windowsでファイル名に大文字が含まれていると、404エラーが発生することがわかりました。
すべてのファイル名を小文字に変更すると、404エラーはなくなりました。
まず、どのような種類のアプリを作成したいかを理解する必要があります。サーバーレスですか?または、サーバーの種類と使用したいWebサーバー(オプションが非常に多い)。
サーバーレスアプリの場合:
プロダクションビルドに必要なのはnext export
だけです。この関数は、Webサイトとして提供される静的ファイルを生成します。 詳細はこちら ...
サーバーのあるアプリの場合:
npm run start
を実行する場合は、最初にnpm run build
を実行する必要があります。
npm run build
ビルドをコンパイルし、プロダクションモード用に最適化します。
npm run start
ウェブサーバーを実行して、htmlファイルを提供します。
これらの2つのステップを実行した場合、サーバーファイルに問題があることを意味します。WebサーバーのAPIはリクエストをリッスンしなかったため、正しいページにリダイレクトされません。
アプリケーションを開始する前に、npm run buildコマンドを使用してビルドし、アプリケーションを開始する必要があります。