Laravel 5.7 + Font Awesome

Я пытаюсь включить набор инструментов Font Awesome в Laravel 5.7.

Вот шаги, которые я предпринял:

1) Запускаем npm install --save-dev @fortawesome/fontawesome-free

2) Проверьте папки в node_modules/, и все в порядке.

$fa-font-path: "../webfonts";

// Bootstrap
@import '~bootstrap/scss/bootstrap';
@import '~@fortawesome/fontawesome-free/scss/fontawesome.scss';
@import '~@fortawesome/fontawesome-free/scss/solid.scss';
@import '~@fortawesome/fontawesome-free/scss/regular.scss';
@import '~@fortawesome/fontawesome-free/scss/brands.scss';

3) Потом побежал ...

npm run development -- --watch

4) Я вижу файлы в public/fonts/vendor/@fortawesome/fontawesome-free/.

Однако, когда я захожу в браузер, значки выглядят так:

Laravel 5.7 + Font Awesome

загружает ли ваш интерфейсный файл CSS в общую папку, в которую был помещен fontawesome?

wheelmaker 21.09.2018 00:54
Стоит ли изучать 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 называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
17
1
17 599
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Laravel с 5.7 по 7.x с использованием Font Awesome 5 (The Right Way)

Создайте свою конфигурацию webpack.mix.js.

mix.setResourceRoot('../');
mix.setPublicPath('public')

mix.js('resources/js/app.js', 'public/js')
   .sass('resources/sass/app.scss', 'public/css');

Установите последнюю бесплатную версию Font Awesome через диспетчер пакетов, например npm.

npm install @fortawesome/fontawesome-free --save-dev

Эта запись зависимости теперь должна быть в вашем package.json.

// Font Awesome
"devDependencies": {
    "@fortawesome/fontawesome-free": "^5.15.3",

В вашем основном файле SCSS /resources/sass/app.scss импортирует один или несколько стилей.

// Font Awesome
@import '~@fortawesome/fontawesome-free/scss/fontawesome';
@import '~@fortawesome/fontawesome-free/scss/regular';
@import '~@fortawesome/fontawesome-free/scss/solid';
@import '~@fortawesome/fontawesome-free/scss/brands';

Скомпилируйте свои активы и создайте минифицированную, готовую к производству сборку.

npm run production

Наконец, укажите ссылку на сгенерированный файл CSS в шаблоне / макете Blade.

<link type = "text/css" rel = "stylesheet" href = "{{ mix('css/app.css') }}">

Привет, дружище! Спасибо за ответ. Я сделал это, но: ERROR Не удалось скомпилировать с 15 ошибками13: 30: 59 Эти относительные модули не были найдены: * ./@fortawesome//fa-brands-400.eot в ./node_modules/css-loader??ref- -5-2! ./ node_modules / postcss-l‌ oader / lib ?? postcss! .‌ / node_modules / resolv‌ e-url-loader ?? ref - 5‌ -4! ./ node_modules / sa‌ ss -loader / lib / loader‌ .js ?? ref - 5-5! ./ reso‌ urces / sass / app.scss ... и т.д .... и .... ОШИБКА в ./resources/sass/ app.scss Ошибка сборки модуля: ModuleNotFoundError: Модуль не найден: Ошибка: не удается разрешить './@fortawesome//fa-brands-400.eot' в \ resources \ sass '... и т. д. Спасибо !!

Nico 21.09.2018 18:33

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

Nico 22.09.2018 18:14

Вы знаете, как удалить файлы Font Awesome и начать заново?

Nico 22.09.2018 18:16

@Nico Да, вы можете удалить папку @ fortawesome / в public / fonts / vendor. rm -rf / Users / Nico / Сайты / laravel / public / fonts / vendor / @ fortawesome /

Karl Hill 10.10.2018 03:11

Так что оставить ссылку <link href = "{{ asset('css/app.css') }}" rel = "stylesheet"> по умолчанию и добавить ссылку, которую вы указали выше? Я вижу, что в одном есть mix, а в другом - asset.

whisk 09.10.2019 14:12

@whisk Используйте то или другое.

Karl Hill 09.10.2019 16:18

Если по-прежнему не работает, добавьте это в свой файл микса mix.copyDirectory('node_modules/@fortawesome/fontawesome-fre‌​e/webfonts', 'public/webfonts');.

devfaysal 06.11.2019 08:18

обновите конфигурацию webpack.mix.js, как показано ниже:

mix.js('resources/js/app.js', 'public/js')
   .sass('resources/sass/app.scss', 'public/css');

mix.setPublicPath('public');
mix.setResourceRoot('../');

введите в терминале npm run dev и нажмите Enter.

mix.setResourceRoot('../'); сделал это для меня
Victor Jozwicki 21.06.2019 14:49

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