Мой проект хорошо работает с командой run dev, но когда я пытаюсь запустить npm, я получаю сообщение об ошибке 404 page not found для других страниц ( 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.
Всего 2 ответа
Перед запуском приложения необходимо выполнить сборку с помощью команды npm run build, а затем запустить приложение.
Во-первых, вам нужно понять, какое приложение вы хотите создать. Это без сервера? или как с сервером, и какой веб-сервер вы хотите использовать (вариантов так много).
Для безсерверного приложения:
Все, что вам нужно сделать для производственной сборки, это next export
, эта функция будет генерировать статические файлы, которые будут служить вашим сайтом. Узнайте больше здесь ...
Для приложения с сервером:
Если вы хотите запустить npm run start
, npm run start
нужно выполнить npm run build
.
npm run build
компилирует и оптимизирует вашу сборку для производственного режима.
npm run start
ваш веб-сервер для обслуживания ваших HTML-файлов.
Если вы выполнили эти два шага, это означает, что что-то не так с файлами вашего сервера, API вашего веб-сервера не прослушал запрос, поэтому он не перенаправляет вас на нужную страницу.