Сбой Nodejs при редактировании исходного кода в реальном времени, как остановить это поведение

#node.js #reactjs #npm

#node.js #reactjs #npm

Вопрос:

Я новичок в nodejs и reactjs. Хотя у меня сервер работает нормально, возникает нежелательное поведение, которое означает, что узел (или npm) просматривает исходный файл на предмет изменений. Однако это бесполезно, поскольку node затем фокусируется на автоматически сохраненном файле, перед которым стоит символ ‘#’. Предотвращает повторный перезапуск сервера. Если я не забуду остановить сервер перед редактированием файла, проблем не будет, но это не тот рабочий процесс, к которому я привык. С помощью сервера django вы можете отредактировать файл, а затем при сохранении файла сервер перезагрузится и либо покажет вашу работу, либо выдаст полезную ошибку. Есть ли способ остановить это живое редактирование, пожалуйста.

Вот файл package.json, возможен ли здесь параметр, который облегчает нежелательное редактирование в реальном времени.

 {
  "name": "my-app",
  "version": "0.1.0",
  "private": true,
  "dependencies": {
    "@testing-library/jest-dom": "^5.11.5",
    "@testing-library/react": "^11.1.0",
    "@testing-library/user-event": "^12.1.10",
    "react": "^17.0.1",
    "react-dom": "^17.0.1",
    "react-scripts": "4.0.0",
    "web-vitals": "^0.2.4"
  },
  "scripts": {
    "start": "react-scripts start",
    "build": "react-scripts build",
    "test": "react-scripts test",
    "eject": "react-scripts eject"
  },
  "eslintConfig": {
    "extends": [
      "react-app",
      "react-app/jest"
    ]
  },
  "browserslist": {
    "production": [
      ">0.2%",
      "not dead",
      "not op_mini all"
    ],
    "development": [
      "last 1 chrome version",
      "last 1 firefox version",
      "last 1 safari version"
    ]
  }
}
  

Комментарии:

1. Если вы можете предоставить некоторые команды для просмотра узлов, возможно, ваш package.json и команды помогут мне понять, что вы на самом деле говорите, потому что я не могу понять, что вы говорите

2. Nodejs перезапускает сервер при редактировании исходного файла. Если он должен перезапустить себя, я хочу, чтобы он делал это только после того, как я сохранил файл, а не при запуске ввода. В любом случае я не настраивал node или react, в настоящее время это стандартная конфигурация в Linux Mint. Попытается добавить package.json в сообщение, чтобы вы могли посмотреть

3. Правильные извинения. Это проблема emacs, я закрыл emacs и открыл исходный код в режиме редактирования текста, и у меня не было проблем. @SkrewEverything, если бы вы любезно изменили свой комментарий на решение, я пометил бы его как ответ, поскольку именно ваш комментарий заставил меня усомниться в моем текстовом редакторе.

Ответ №1:

Насколько я знаю, сервер перезапускается только при сохранении файла. Пока вы не сохраните отредактированный файл в файловой системе, сервер не знает, что вы что-то меняете, потому что наблюдатель не может видеть, что вы делаете.

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

Если это все еще продолжается, возможно, вам нужно отправить отчет об ошибке в репозиторий create-react-app (я думаю, это то, что вы используете).

Ответ №2:

Проблемы не имеют ничего общего с Node / React, что происходит там, вы включили автосохранение для своего vscode, поэтому каждая строка, которую вы пишете, автоматически сохраняется, отмечая, что это приведет к ошибкам не потому, что вы это вызвали, а из-за сохранения файла, если вы даже не выполнили то, что хотели сделать.

Решение

Отключите автосохранение в вашем VSCode

Комментарии:

1. Vscode или нет, даже с atom или sublime вы можете установить автосохранение, так что концепция та же

2. Можно прокомментировать, когда они 50xp в последний раз, когда я проверял, так что да.

3. Я понимаю, что вы говорите, и я обязательно постараюсь сделать свои ответы более понятными и избежать предположений, спасибо за совет

4. На самом деле, @NtshemboHlongwane прав в своем ответе, просто неправильный редактор. Я использую emacs, однако попытка выяснить, что вызывает вечное автосохранение при каждом нажатии клавиши, мне не по силам, поэтому сейчас я пытаюсь использовать VSCode, но я ненавижу его со страстью, потому что его еще сложнее настроить, чем Emacs, но с точки зрения редактирования это проще для javascript.