Netlify: Недопустимое имя файла. Развернутые имена файлов не могут содержать # или ? персонажи

Я пытаюсь развернуть свой веб-сайт на 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, но ошибка осталась.

Я получил ту же ошибку при развертывании проекта next.js. здесь — это мой вопрос.

Adelin Ionut 25.01.2021 12:29
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
4
1
1 895
2

Ответы 2

Мой первый ответ — вопрос: зачем вы развертываете свою папку node_modules? Как правило, это не требуется на статических веб-сайтах: они используются для создания сайта, но затем не нужны во время выполнения, поскольку, ну, «время выполнения» — это просто «отправить этот файл», а не «запустить этот код» на сервере Netlify CDN. . Возможно, вы неправильно установили свой «каталог публикации» в настройках сборки и развертывания сайта и также развертываете свой исходный код, а не только готовую сборку?

Если вам по какой-то причине нужно развернуть node_modules по какой-то причине, вы можете это сделать. Сообщение довольно ясное — не отправляйте имена файлов с # или ? в них. Это недопустимые имена файлов в соответствии со спецификацией HTTP - # предназначен для обозначения якорей, а все, что после #, используется на стороне клиента и, следовательно, не будет правильно отображаться в вашем файле. ? предназначен для обозначения параметры строки запроса и аналогичным образом не будет работать, поскольку вы собираетесь читать файл, имя которого содержит ?, а скорее обрезаете имя файла, которое сервер будет (попытается) обслужить, перед символом ?.

Netlify подходит не только для статических сайтов. Вы можете запускать проекты Node через «Функции» в Netlify. Это ошибка, с которой я также сталкиваюсь. Я тоже не вижу пути обойти это. Простая установка netlify-lambda как devDependency устанавливает пакет es5-ext — он содержит каталог ./#, который вызывает проблему.

Stewart Anderson 30.04.2019 06:03

Обходной путь заключается в том, чтобы не отправлять файлы с этими символами. Не имеет значения, хотите ли вы развернуть модули узлов — это нормально — но у вас не может быть недопустимых имен файлов при развертывании, и точка. Итак, удалите это перед развертыванием (возможно, рабочий процесс, такой как npm run build && netlify-lambda build && rm -rf functions/node_modules/es5-ext/date, поможет?)

fool 01.05.2019 18:51

Я не знаю, слишком ли я поздно для этого, но я просто столкнулся с этой проблемой вот что я сделал, что исправило мои проблемы

  • базовый каталог: ваши приложения
  • команда сборки: CI = запуск сборки npm
  • опубликовать каталог: ваши приложения/сборка

Я использовал craco в своих приложениях для реагирования, потому что мне нужно было, чтобы он работал с Tailwind css, я не знаю, сработает ли это для вас, но это решение сработало для меня.

Другие вопросы по теме