Следующая JS npm start app load 404 page not found error для физических страниц

Мой проект хорошо работает с командой run dev, но когда я пытаюсь запустить npm start, я получил ошибку 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 я ничего не изменил.

введите описание изображения здесь  введите описание изображения здесь


person Elvin Mammadov    schedule 09.02.2020    source источник
comment
у вас есть файл на стороне сервера? какой веб-фреймворк вы используете?   -  person Darryl RN    schedule 09.02.2020
comment
Я не понимаю вопроса. Это следующее js-приложение. Сайт хорошо работает с npm run dev   -  person Elvin Mammadov    schedule 09.02.2020
comment
предоставьте дополнительный код, чтобы мы могли понять вашу ситуацию, например ваши app.js или файлы сервера, которые прослушивают запрос браузера   -  person Darryl RN    schedule 09.02.2020
comment
@DarrylRN, я ничего не менял, что идет с nextjs. Нет ни app.js, ни прочего. Только что установил приложение, добавил несколько страниц. в npm run dev все работает хорошо, но с npm start все страницы маршрутизации возвращают страницу 404, которая не найдена. Я нахожусь в LOCAL, еще ничего не публикую, просто хотел бы видеть localhost: 3000 в качестве продакшена.   -  person Elvin Mammadov    schedule 09.02.2020
comment
вы можете проверить имя файла? Преобразуйте camelCase в нижний регистр и попробуйте еще раз))   -  person Ramil Aliyev    schedule 10.02.2020


Ответы (3)


Я обнаружил, что если в именах файлов в Windows есть заглавные буквы, вы получите ошибку 404.

Я изменил все имена файлов на символы нижнего регистра, и ошибка 404 исчезла.

person Gaurav Goyal    schedule 16.03.2020
comment
Привет, Гуарав. Да, как упоминалось в комментариях, это связано с последними случаями - person Elvin Mammadov; 19.03.2020

Во-первых, вам нужно понять, какое приложение вы хотите создать. Это бессерверно? или типа с сервером и какой веб-сервер вы хотите использовать (есть так много вариантов).

Для бессерверного приложения:

Все, что вам нужно сделать для производственной сборки, - это next export, эта функция сгенерирует статические файлы, которые будут использоваться в качестве вашего веб-сайта. Подробнее здесь ...

Для приложения с сервером:

Если вы хотите запустить npm run start, вам нужно сначала выполнить npm run build.

npm run build компилирует и оптимизирует вашу сборку для производственного режима.

npm run start запустите свой веб-сервер для обслуживания ваших файлов HTML.

Если вы выполнили эти два шага, это означает, что с файлами вашего сервера что-то не так, API вашего веб-сервера не прослушал запрос, поэтому он не перенаправляет вас на нужную страницу.

person Darryl RN    schedule 09.02.2020
comment
Я нахожусь на местном уровне, я не начинал пилить его ни на какой сервер. Просто хочу запустить приложение, чтобы посмотреть, что будет в результате в продакшене. Добавляю в вопросы скриншоты консоли. - person Elvin Mammadov; 09.02.2020
comment
Я все делал на местном уровне. Только что установил приложение nextjs, работал с run dev, теперь запускал приложение в npm start .. и в результате ничего не работает. - person Elvin Mammadov; 09.02.2020
comment
пожалуйста, предоставьте пример кода вашей страницы, я обнаружил, что пример отлично работает на моем локальном компьютере с производственной сборкой npm run build && npm run start - person Darryl RN; 09.02.2020
comment
Хорошо, добавляю еще несколько экранов. - person Elvin Mammadov; 09.02.2020
comment
Не могли бы вы сообщить мне, какие именно страницы вы хотите видеть? - person Elvin Mammadov; 09.02.2020
comment
я предлагаю добавить собственный сервер для обслуживания ваших страниц, вы можете взглянуть на пример здесь github.com/zeit/next.js/tree/canary/examples/, есть и другие варианты, такие как hapi, koa и т. д. Причина в bcs структура ваших страниц стала сложной, и я не уверен, как справиться с этим с помощью следующего маршрутизатора по умолчанию. - person Darryl RN; 09.02.2020
comment
Я сделал все, как вы упомянули. Но результат тот же. для npm start все страницы возвращают 404 not found, кроме index.js - person Elvin Mammadov; 10.02.2020
comment
Как вы обрабатываете свои запросы в файле app.js / server? - person Darryl RN; 10.02.2020
comment
Возможно, мне никто не поверит, но проблема была решена после того, как я сменил signIn на signin (нижние буквы) ((((Я не знаю, в чем именно проблема с верхними буквами. Но я потерял неделю из-за этой ошибки ((( Спасибо за ответы. И время - person Elvin Mammadov; 10.02.2020
comment
рад это слышать, не беспокойтесь, я рад помочь! - person Darryl RN; 10.02.2020

Перед запуском приложения вам необходимо выполнить сборку с помощью команды npm run build, а затем запустить приложение.

person Nikas    schedule 09.02.2020
comment
Конечно, я строю его перед тем, как начать, я не задумывался об этом, потому что это первый шаг. Я создал приложение, затем запускается npm, и веб-сайт открывается нормально, но не может перемещаться между страницами, все страницы похожи на страницу 404, не найденную. - person Elvin Mammadov; 09.02.2020