Laravel 5.7 +字体真棒

Nic*_*ico 12 npm font-awesome laravel-5 laravel-mix laravel-5.7

我正在尝试在Laravel 5.7中包含Font Awesome工具包.

这些是我采取的步骤:

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';
Run Code Online (Sandbox Code Playgroud)

3)然后我跑了......

npm run development -- --watch
Run Code Online (Sandbox Code Playgroud)

4)我看到了文件public/fonts/vendor/@fortawesome/fontawesome-free/.

但是,当我进入浏览器时,图标看起来像这样:

down_icon

Kar*_*ill 34

适用于Laravel 5.7+和Font Awesome 5

构建webpack.mix.js配置.

mix.js('resources/js/app.js', 'public/js')
   .sass('resources/sass/app.scss', 'public/css');
Run Code Online (Sandbox Code Playgroud)

通过npm安装最新的免费版Font Awesome.

npm install @fortawesome/fontawesome-free --save
Run Code Online (Sandbox Code Playgroud)

此依赖项现在应该在您的package.json中.

// Font Awesome
"dependencies": {
    "@fortawesome/fontawesome-free": "^5.11.2",
Run Code Online (Sandbox Code Playgroud)

在主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';
Run Code Online (Sandbox Code Playgroud)

让我们编译我们的资产并生成一个生产就绪的构建.

npm run production
Run Code Online (Sandbox Code Playgroud)

最后,在Blade模板/布局中引用生成的CSS文件.

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


MUH*_* PA 6

如下更新您的webpack.mix.js配置:

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

mix.setPublicPath('public');
mix.setResourceRoot('../');
Run Code Online (Sandbox Code Playgroud)

在终端中输入“ npm run dev”,然后按Enter