Хорошо, я знаю, что это действительно элементарная проблема, но я не могу ее понять. Это вопрос относительно Laravel.
По сути, мои таблицы стилей встроены в представление макета по умолчанию. В настоящее время я просто использую обычный CSS, чтобы связать их, например:
<link rel="stylesheet" href="css/app.css" />
Он отлично работает, когда я нахожусь на одноуровневом маршруте, таком как / about , но перестает работать, когда я иду глубже, например, / about / me .
Если я смотрю на консоль разработчика Chrome, я вижу некоторые из следующих ошибок (только для более глубоких маршрутов):
Resource interpreted as Stylesheet but transferred with MIME type text/html: "http://example.dev/about/css/app.css".
Итак, очевидно, что теперь он ищет css внутри папки «about», которая, конечно, не является папкой.
Я просто хочу, чтобы он искал активы в одном и том же месте независимо от маршрута.
asset()
вспомогательный метод instance ofURL::asset()
. Он делает ту же работу.Laravel 4
Лучший и правильный способ сделать это
Добавление CSS
HTML :: style будет ссылаться на ваш проект / общедоступную / папку
Добавление JS
HTML :: script будет ссылаться на ваш проект / общедоступную / папку
источник
Вы используете относительные пути для своих ресурсов, измените на абсолютный путь, и все будет работать (добавьте косую черту перед «css».
источник
в Laravel 5 ,
есть 2 способа загрузки файлов JS на ваш взгляд ,
первый в использовании HTML - хелперы, второй использует хелперы активов.
чтобы использовать помощник html, вы должны сначала установить этот пакет через командную строку:
тогда вам нужно повторно зарегистрировать его, поэтому перейдите в config / app.php и добавьте эту строку в массив поставщиков
тогда вам нужно определить псевдонимы для своего html-пакета, поэтому перейдите в массив псевдонимов в config / app.php и добавьте это
теперь ваш помощник html установлен, поэтому в файлах представления лезвия вы можете написать это:
это будет искать ваш файл test.js в вашем каталоге_проекта / public / js / test.js.
////////////////////////////////////////////////// ////////////
Чтобы использовать помощники по ресурсам вместо помощника html, вы должны написать что-то вроде этого в своих файлах представления:
это будет искать файл test.js в каталоге project_root / resources / assets / test.js
источник
<script src="{{ url(asset('test.js')) }}"></script>
(или<script src="{{ url(mix('test.js')) }}"></script>
если вы используете Laravel Mix).Если вы используете Laravel 3 и ваши файлы CSS / JS внутри общей папки, например этой
то вы можете вызвать их, используя шаблоны Blade, например
источник
я предлагаю вам включить его в фильтр маршрутов, прежде чем на {project} /application/routes.php
и используя механизм шаблонов лезвий
или больше об управлении активами в laravel.
источник
в
laravel 4
вас просто вставить{{ URL::asset('/') }}
этот путь:То же самое для:
источник
Laravel 5.4 с помощником по смешиванию:
источник
В Laravel 5.7 поместите файл CSS или JS в каталог Public.
Для CSS:
Для JS:
источник
На мой взгляд, лучший способ добавить тег BASE в свой HTML
Так что нет необходимости использовать такие вещи, как
просто введите
на ваш взгляд, и он будет работать.
Этот метод будет работать с URL-адресами RESTful и статическими ресурсами, такими как изображения, CSS и скрипты.
источник
Винса почти все сделала правильно, ты должен добавить
и скрипты должны идти своим обычным путем
Причина этого в том, что изображения и другие объекты с относительным путем, такие как источник изображения или запросы ajax, не будут работать правильно без прикрепленного базового пути.
источник
Если вы делаете это жестко, вам, вероятно, следует использовать полный путь (
href="http://example.com/public/css/app.css"
). Однако это означает, что вам придется вручную настроить URL-адреса для разработки и производства.Альтернативой вышеуказанным решениям было бы использование
<link rel="stylesheet" href="URL::to_asset('css/app.css')" />
в Laravel 3 или<link rel="stylesheet" href="URL::asset('css/app.css')" />
в Laravel 4. Это позволит вам писать свой HTML так, как вы хотите, но также позволит Laravel генерировать правильный путь для вас в любой среде.источник
Лучший способ использовать лайк,
источник
Предположим, вы не переименовали свою общую папку. Ваши файлы css и js находятся в подпапках css и js в общей папке. Теперь ваш заголовок будет:
источник
Просто добавьте еще одну проблему:
Если вы хотите удалить
/public
из своего проекта.htaccess
,тогда вы можете использовать это, [Добавить
public
перед/css
внутриasset()
][Иногда это полезно.]
источник
Для Laravel 4: {!! для двойной фигурной скобки {{
и для Laravel 5 и более поздних версий: вы можете заменить {!! by {{and !!} by}} в более дорогой версии
Если вы поместили JavaScript в пользовательский каталог.
Например, если ваш
jQuery-2.2.0.min.js
помещается в каталоге ,resources/views/admin/plugins/js/
то из*.blade.php
вас будет иметь возможность добавлять в конце раздела , какПоскольку версия Higher-End также поддерживает версию Low-End, но не наоборот
источник
Лучший и правильный способ сделать это:
источник
В Laravel 5.8
просто сделал трюк для меня.
источник
поместите файл сценария в общедоступный каталог, затем используйте (например, для userFunctions.js)
источник