Bootstrap намагається завантажити файл карти. Як відключити це? Чи потрібно це робити?


127

Я нещодавно граю з bootsrap3. Я склав його з джерел і включив distr js та css до свого проекту. Справа в тому, що я бачу в інструментах розробки GH, що він намагається отримати файл .map.css. Чому він хоче це зробити? Як відключити це? Чи потрібно це відключити? Щоб не мати позначки помилки в інструментах розробників, я додав файл карти, після якого всі стилі відображаються так, як вони визначені у менших файлах, що мені не дуже допомагає.


5
Чи відповів будь-який із наведених нижче відповідей на ваше запитання? Якщо ні, чи можете ви оновити своє запитання, щоб ми могли покращити наші відповіді?
Домінік Зукевич

Відповіді:


162

Видалити рядок /*# sourceMappingURL=bootstrap.css.map */ізbootstrap.css


38
Будь ласка, поясніть свою відповідь коротко, щоб зробити вашу відповідь кориснішою для ОП та інших читачів.
Мохіт Джайн

9
Це працює, але якщо на bootstrap посилається безпосередньо з node_modules, коли bootstrap буде встановлено повторно, це буде перезаписано назад
Олександр

2
Оце Так! Абсолютно божевільний ... це працює лише в тому випадку, якщо ви "видалите" рядок (як ви вже сказали) ... коментуючи все-таки 404 помилки! Радий, що я натрапив на твій пост!
flipflopmedia

120

.map-файли дозволяють браузеру завантажувати повну версію мінімізованого JS. Це дійсно для налагодження.

Насправді, відсутня .map не проблема. Ви знаєте лише, що він відсутній, оскільки браузер відкрив інструменти для розробників, виявив мінімізований файл і просто інформує вас про те, що налагодження JS не буде настільки хорошим, як могло б бути.

Ось чому бібліотеки, такі як jQuery, також мають повний, мінімізований і файл карти.

Дивіться цю статтю для повного пояснення файлів .map :


1
Завантажує їх? Звідки? Я припускав, що ці .less файли запаковані якось всередині файлу карти. І під час завантаження сторінки завантажувач знову створює ці файли з пакету.
dhblah

1
З цього ж каталогу він отримує .js від. Пам'ятайте його лише тоді, коли інструменти для розробників відкриті, а не як звичайний запит.
Домінік Зукевич

Дякую за вашу відповідь, але у мене немає .lessфайлів у моєму проекті. Я лише додав .cssі .jsфайли, і цей mapфайл.
dhblah

1
@Raymond: Інструменти розробника не розуміють імен файлів, таких як .min.css - врешті-решт - чи можемо ми гарантувати, чи він є мінімізованим? Ні. Вона завантажить .map лише для того, щоб у неї були обидві копії. Знову ж це ввімкнено інструментами для розробників. Якщо ви закриєте вікно інструментів, воно не буде запитуватися.
Домінік Зукевич

3
Для повторного підтвердження файл .map запитується та використовується лише тоді, коли відкриті інструменти розробки, тому, якщо він відсутній, ви не отримуєте зайвих помилок запитів, коли типові користувачі переходять на вашу сторінку.
tomf

27

Видаліть рядок /*# sourceMappingURL=bootstrap.css.map */уbootstrap.css

Якщо помилка зберігається, очистіть кеш браузера (CTRL + F5).


2
Таку ж відповідь через два роки?
Пану Хаарамо

Який сенс давати ту саму відповідь, яку хтось уже дав років тому? stackoverflow.com/a/23909455/1879699
Андреас

17

Видаліть рядок "/*# sourceMappingURL=bootstrap.min.css.map */ "у наступних файлах.

  • css / bootstrap.min.css
  • css / bootstrap.css

Щоб отримати шлях до файлу в Linux, використовуйте команду find / -name "\*bootstrap\*"


Файли з вихідними картами, як-от bootstrap.min.css.map, генеруються автоматично під час мінімізації / складання файлів. Вони фактично не потрібні для виробництва, але в той же час займають в 3 рази більше місця на диску, ніж ті, які вони відображають. Тому ми не включаємо їх у реліз. Якщо ви хочете просто видалити це повідомлення, ви можете або видалити коментарі, наприклад / * # sourceMappingURL = bootstrap.min.css.map * / в bootstrap.min.css, bootstrap.min.js та popper.min.js або завантажити джерело картографуйте файли з випуску Bootstrap 4.1.3 та помістіть їх у каталог libs.
Аджай Такур

17

Це відбувається лише тоді, коли ви використовуєте інструменти розробки, і це не відбудеться для звичайних користувачів, які звертаються до виробничого сервера.

У будь-якому випадку, мені здається корисним просто відключити цю поведінку в інструментах розробки : відкрийте налаштування та зніміть прапорець "Увімкнути вихідні карти".

Більше не буде спроб доступу до файлів карт.


Я думаю, що це можуть бути найбільш відповідні відповіді. Інші актуальні лише у тому випадку, якщо згадані файли входять у комплект із вашою заявкою - що постійно не трапляється.
Лукіно

6

Якщо у вас немає правильного .map-файлу і ви не хочете редагувати рядки в bootstrap.css, ви можете створити фіктивний .map-файл.

У моєму випадку я бачив помилку:

GET /bootstrap.css.map not found.

Тому я створив порожній bootstrap.css.map в каталозі / public і помилка зупинилася.


1
Не працює з bowerчимось подібним, тому що в режимі виробництва буде встановлений завантажувальний пристрій з джерела. Те саме для будь-якої відповіді, яка говорить про видалення рядка /*# sourceMappingURL=bootstrap.css.map */.
monteirobrena

4

Видалити / * # sourceMappingURL = bootstrap.min.css.map * / in css / bootstrap.min.css

та видаліть / * # sourceMappingURL = bootstrap.css.map * / in css / bootstrap.css


1

З bootstrap.css видалити видалити останній рядок / * # sourceMappingURL = bootstrap-theme.css.map * /


1

У мене були також попередження в Google Dev-Tools, і я додав лише файл bootstrap.min.css.map у ту саму папку, де є bootstrap.min.css.

Зараз у мене більше немає попереджень, і ви можете знайти більше Пояснення тут: https://github.com/twbs/bootstrap#whats-included

Сподіваюся, я відповів на ваше запитання.


1

Для мене створили порожній bootstrap.css.map разом з bootstrap.css і помилка зупинилася.


1

Видалення цього рядка виправляє його, але проблема полягає в тому, що файли завантаження входять bower_componentsі не перевіряються в контролі джерела.

Отже, кожен розробник в команді отримає файл css з посиланням на карту, коли витягне репо і зробить bower install(що є частиною використання нового репо).

У файлі не повинно бути посилання на карту, якої немає.


1

Гаразд Нещодавно я зіткнувся з цією проблемою. У мене дуже просте рішення для вирішення цього питання, виконайте наступні кроки: перейдіть до цих каталогів src-> app-> index.html, відкрийте index.html і знайдіть <base href="your app name ">змінити це на<base href="https://stackoverflow.com/">


0

Видаліть останній рядок у bootstrap.css

folllowing lin / * # sourceMappingURL = bootstrap.css.map * /


спробуйте пояснити питання і як ваша відповідь отримує рішення, її хороша практика, яка дозволяє новому користувачеві дізнатися, що сталося
Панкай Німгад
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.