#laravel #mime-types
#laravel #типы mime
Вопрос:
При загрузке представления все ресурсы ошибочно передаются с типом MIME text/html
Итак, на консоли я вижу:
Resource interpreted as Script but transferred with MIME type text/html: "http://trivia.dev/guest". guest:11
Resource interpreted as Image but transferred with MIME type text/html: "http://trivia.dev/guest". guest:71
Uncaught SyntaxError: Unexpected token <
Синтаксическая ошибка находится в первой строке html-файла, что означает, что он читается как скрипт, а не как HTML. По какой-то причине это происходит только тогда, когда я извлекаю скрипт из своего HTML-кода.
Мой основной макет:
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=no">
<title>@yield('title') | Royal Trivia</title>
<link rel="icon" href="{{URL::to('img/favicon.png')}}">
<link rel="stylesheet" href="{{URL::to('css/style.css')}}">
<script src="{{URL::to('js/bundle.min.js')}}"></script>
</head>
<body>
<div class="flash">{{Session::get('flash_message')}}</div>
@yield('content')
</body>
</html>
Сгенерированный HTML:
<!DOCTYPE html>
<html lang="en-US">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, user-scalable=no">
<title>שחק וזכה | Royal Trivia</title>
<link rel="icon" href="http://trivia.dev/img/favicon.png">
<link rel="stylesheet" href="http://trivia.dev/css/style.css">
<script src="http://trivia.dev/js/bundle.min.js"></script>
</head>
<body>
<div class="flash"></div>
<header>
<div class="container">
<ul class="lang-icons">
<li><a href=""><img src="" alt="hebrew"/></a></li>
<li><a href=""><img src="" alt="english"/></a></li>
<li><a href=""><img src="" alt="spanish"/></a></li>
</ul> <!--lang-icons-->
<a class="logo" href="/">
<img src="http://trivia.dev/img/mobile/logo.png" alt="RoyalTrivia"/>
</a><!--logo-->
<div class="users-count">
<small>כרגע באתר 1000 משתמשים</small>
</div>
</div><!--container-->
</header><div class="cta-strip">
<div class="container">
<img class=mobile src="http://trivia.dev/img/mobile/login_image.png" alt="people"/>
<div class="cta-text">
<h1>משחק הטריוויה שמטריף את כולם</h1>
<h4>הידע שלכם שווה כסף</h4>
<h5>ענו על 3 שאלות טריוויה</h5>
<h5>אם עניתם נכון ומהר יותר מהמתחרה מולכם - זכיתם</h5>
<h3>בואו להרוויח כסף</h3>
</div> <!--cta-text--> </div> <!--container-->
</div> <!--cta-strip--><div class="buttons-strip">
<div class="container">
<div class="cta-text">
<h1>משחק הטריוויה שמטריף את כולם</h1>
<h4>הידע שלכם שווה כסף</h4>
<h5>ענו על 3 שאלות טריוויה</h5>
<h5>אם עניתם נכון ומהר יותר מהמתחרה מולכם - זכיתם</h5>
<h3>בואו להרוויח כסף</h3>
</div> <!--cta-text--> <div class="CTA-btns">
<div class="login-btn clearfix">
<small>משתמש רשום?</small>
<a class="star-btn login-link" href="#/login"><span>כניסה</span></a>
</div><!--login-btn-->
<div class="signup-btn clearfix">
<small>לא רשום?</small>
<a class="star-btn signup-link" href="#/signup"><span>הרשמה</span></a>
</div><!--signup-btn-->
</div><!--CTA-btns-->
</div><!--container-->
</div><!--buttons-strip--><footer>
<div class="container">
<ul class="social-icons">
<li><a href='facebook.com'><img src='someimage.png' alt='email'/></a></li>
<li><a href='facebook.com'><img src='someimage.png' alt=''/></a></li>
<li><a href='facebook.com'><img src='someimage.png' alt='youtube'/></a></li>
<li><a href='facebook.com'><img src='someimage.png' alt='google '/></a></li>
<li><a href='facebook.com'><img src='someimage.png' alt='twitter'/></a></li>
<li><a href='facebook.com'><img src='someimage.png' alt='facebook'/></a></li>
</ul>
<p>amp;copy; All rights reserved to Royal Trivia</p>
</div><!--container-->
</footer>
</body>
</html>
Комментарии:
1. Какие данные возвращаются при переходе к trivia.dev/js/bundle.min.js и trivia.dev/img/favicon.png из вашего браузера? Я подозреваю, что он вернет некоторую ошибку Laravel. Возможно, что-то связано с вашим
.htaccess
или местоположением файла.2. Хорошая мысль. Он перенаправляет меня на маршрут / guest. Я проверяю свой routes.php файл сейчас же
3. Во-первых, это не должно попасть в ваше приложение Laravel, можете ли вы показать свою файловую структуру, особенно из папки проекта, в свой js-файл? Также ваш .htaccess, если это возможно.
Ответ №1:
Я обнаружил проблему благодаря совету @Unnawut: имя файла было неправильным (должно было быть bundle.js ). Странно было то, что я не получил 404, но был перенаправлен на /guest
маршрут, который вызвал ошибку MIME-типа и синтаксическую ошибку.
Я просмотрел свои файлы и нашел обработчик 404, который перенаправил обратно на домашнюю страницу.
Комментарии:
1. Пока не могу. Только через два дня