CSS правильно работает в одном проекте Google App Engine, но не в другом. Тип MIME отличается - PullRequest
0 голосов
/ 30 октября 2018

Я работаю над новым сайтом, который будет размещен на Google App Engine. Я развертывал свое приложение в проекте разработки, и оно размещено здесь:

Разработка: https://herdboss -dev.appspot.com /

Работает нормально.

Но когда я беру точно такой же код и развертываю его в моем другом проекте, который станет настоящим, рабочим веб-сайтом, он обслуживает некоторые CSS как application/octet-stream вместо text/css, и поэтому эти файлы не ' t анализируется браузером, поэтому почти все мои css не работают на производственном сайте:

Производство: https://herdboss -prod.appspot.com /

Еще более странно то, что некоторые из css обслуживаются правильно. /css/normalize.css обслуживается как text/css, но /css/site.css обслуживается как application/octet-stream.

https://herdboss -prod.appspot.com / CSS / normalize.css

https://herdboss -prod.appspot.com / CSS / site.css

https://herdboss -prod.appspot.com / JS / JQuery-щ-1.12.1.custom-тема / JQuery-ui.min.css

В моем app.yaml есть статический обработчик для CSS-файлов:

- url: /css
  static_dir: css
  secure: always

Я тоже пытался добавить mime_type, но это ничего не изменило:

- url: /css
  static_dir: css
  mime_type: 'text/css'
  secure: always

EDIT:

Во время эксперимента я разрезал свой site.css пополам, развернул, и он начал работать правильно. Затем я восстановил файл site.css в полном размере, развернул ... и теперь он продолжает работать правильно.

Но мой jquery-ui.min.css все еще служит потоком октетов. Это безумие.

EDIT2:

И он обслуживает мои svg с неправильным типом пантомимы.

В GAE печатание пантомимы просто полностью нарушено? Если так, то почему это работает на моем устройстве?

1 Ответ

0 голосов
/ 24 апреля 2019

Я проверил оба ваших сайта: https://herdboss -prod.appspot.com / , https://herdboss -prod.appspot.com /

Я вижу, что у вас есть несколько CSS-файлов: normalize.css, jquery-ui.min.css, base-min.css, grids-min.css, grids-responseive-custom.css, css? Family = Open + Sans, site.css, т.е.-is-terrible.css, css_compiled.css.

Все они правильно работали как Тип: таблица стилей

Если вы столкнулись с этой проблемой, я рекомендую выполнить следующий тест:

  1. Проверьте тип содержимого в консоли разработчика> Сеть с параметром Отключить кэш> И перезагрузить страницу. Если это поможет: почистите кеш браузера.
  2. Проверьте содержимое страницы в другом браузере, поскольку содержимое может интерпретироваться по-разному в зависимости от механизма рендеринга.
  3. Если 1 и 2 не работают, и вы используете nginx, это, скорее всего, проблема конфигурации. Измените файл /etc/nginx/conf.d/default.conf. Поместите /etc/nginx/mime.types в раздел http:
http / {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;
    ....
}  

если он все еще не работает, переместите его в раздел местоположения

location / {
 include       /etc/nginx/mime.types;
 ...
}
...