Я пытаюсь развернуть свой веб-сайт на Netlify с моего GitHub.
Однако я застрял в следующей ошибке:
11:37:19 AM: failed during stage 'deploying site': Invalid filename 'node_modules/es5-ext/date/#/format.js'. Deployed filenames cannot contain # or ? characters
Я попытался удалить и обновить модуль es5-ext, но ошибка осталась.





Мой первый ответ — вопрос: зачем вы развертываете свою папку node_modules? Как правило, это не требуется на статических веб-сайтах: они используются для создания сайта, но затем не нужны во время выполнения, поскольку, ну, «время выполнения» — это просто «отправить этот файл», а не «запустить этот код» на сервере Netlify CDN. . Возможно, вы неправильно установили свой «каталог публикации» в настройках сборки и развертывания сайта и также развертываете свой исходный код, а не только готовую сборку?
Если вам по какой-то причине нужно развернуть node_modules по какой-то причине, вы можете это сделать. Сообщение довольно ясное — не отправляйте имена файлов с # или ? в них. Это недопустимые имена файлов в соответствии со спецификацией HTTP - # предназначен для обозначения якорей, а все, что после #, используется на стороне клиента и, следовательно, не будет правильно отображаться в вашем файле. ? предназначен для обозначения параметры строки запроса и аналогичным образом не будет работать, поскольку вы собираетесь читать файл, имя которого содержит ?, а скорее обрезаете имя файла, которое сервер будет (попытается) обслужить, перед символом ?.
Netlify подходит не только для статических сайтов. Вы можете запускать проекты Node через «Функции» в Netlify. Это ошибка, с которой я также сталкиваюсь. Я тоже не вижу пути обойти это. Простая установка netlify-lambda как devDependency устанавливает пакет es5-ext — он содержит каталог ./#, который вызывает проблему.
Обходной путь заключается в том, чтобы не отправлять файлы с этими символами. Не имеет значения, хотите ли вы развернуть модули узлов — это нормально — но у вас не может быть недопустимых имен файлов при развертывании, и точка. Итак, удалите это перед развертыванием (возможно, рабочий процесс, такой как npm run build && netlify-lambda build && rm -rf functions/node_modules/es5-ext/date, поможет?)
Я не знаю, слишком ли я поздно для этого, но я просто столкнулся с этой проблемой вот что я сделал, что исправило мои проблемы
Я использовал craco в своих приложениях для реагирования, потому что мне нужно было, чтобы он работал с Tailwind css, я не знаю, сработает ли это для вас, но это решение сработало для меня.
Я получил ту же ошибку при развертывании проекта next.js. здесь — это мой вопрос.