You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

从Mix迁移到Vite后Font Awesome无法正常加载求助

解决Vite迁移后Font Awesome图标无法加载的问题

针对你从Mix迁移到Vite后Font Awesome图标完全不显示的问题,以下是几个可行的解决方案:

1. 修正SCSS中的字体路径配置

Vite对资源路径的解析逻辑和Mix不同,原有的$fa-font-path指向可能无法被正确识别。修改app.scss中的路径配置:

// 替换原有的$fa-font-path配置
$fa-font-path: "../node_modules/@fortawesome/fontawesome-free/webfonts";

// 其余导入代码保持不变
// Fonts
@import url('https://fonts.googleapis.com/css?family=Roboto+Condensed:300,300i,400,700|Open+Sans:400,400i,700,700i');

// Variables
@import 'variables';

// Bootstrap
@import 'bootstrap/scss/bootstrap';

// FontAwesome
@import "@fortawesome/fontawesome-free/scss/fontawesome.scss";
@import "@fortawesome/fontawesome-free/scss/solid.scss";
@import "@fortawesome/fontawesome-free/scss/brands.scss";
@import "@fortawesome/fontawesome-free/scss/regular.scss";

这个路径是相对于resources/css目录指向node_modules中的字体文件,Vite会正确解析并复制字体资源到输出目录。

2. 改用直接导入CSS文件的方式

如果SCSS路径配置仍然有问题,可以跳过SCSS导入,直接在app.js中导入Font Awesome的预编译CSS:

// 在app.js顶部添加
import '@fortawesome/fontawesome-free/css/all.css';

这种方式不需要配置字体路径,Vite会自动处理所有资源依赖。

3. 检查Vite配置与资源引用

  • 确保vite.config.js中正确配置了入口文件:
import { defineConfig } from 'vite';
import laravel from 'laravel-vite-plugin';

export default defineConfig({
    plugins: [
        laravel({
            input: ['resources/css/app.scss', 'resources/js/app.js'],
            refresh: true,
        }),
    ],
});
  • 在Blade模板中正确引用Vite生成的资源:
@vite(['resources/css/app.scss', 'resources/js/app.js'])

4. 清除缓存并重新编译

执行以下步骤确保没有缓存问题:

  1. 停止当前的Vite开发服务器
  2. 删除public/build目录
  3. 重新运行npm run dev或npm run build
  4. 清除浏览器缓存(快捷键Ctrl+Shift+R)

内容的提问来源于stack exchange,提问作者Shulz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 01:43:15