mili的回答有错误,因为如果
@import '~bootstrap-icons/font/bootstrap-icons';
包含在 resources\sass\app.scss 中,然后在使用 npm run dev 构建时,我的 app.css 文件中不包含 @font-face 指令。为了使指令出现,我必须添加 «css» 扩展名,以便正确的 @import 是:
@import '~bootstrap-icons/font/bootstrap-icons.css';
但是还有另一个问题,在这种情况下是构建器的问题,导致浏览器不显示图标(而是出现一个正方形,表示浏览器无法呈现 svg 图标)。构建器在 public/css/app.css
中生成以下指令
@font-face {
font-family: "bootstrap-icons";
src: url(/fonts/vendor/bootstrap-icons/bootstrap-icons.woff2?dfd0ea122577eb61795f175e0347fa2c) format("woff2"),
url(/fonts/vendor/bootstrap-icons/bootstrap-icons.woff?94eeade15e6b7fbed35b18ff32f0c112) format("woff");
}
Laravel 找不到文件,因为 url() 不理解绝对路径(在我的开发环境中)。如果在两条路径之前添加«..»,则一切正常(图标出现在页面中):
@font-face {
font-family: "bootstrap-icons";
src: url(../fonts/vendor/bootstrap-icons/bootstrap-icons.woff2?dfd0ea122577eb61795f175e0347fa2c) format("woff2"),
url(../fonts/vendor/bootstrap-icons/bootstrap-icons.woff?94eeade15e6b7fbed35b18ff32f0c112) format("woff");
}
问题是每次您为任何其他包运行npm run dev 时,“..”都会自动被覆盖,因此不再显示图标。
我看到其他人有同样的问题,但我不知道应该在哪里通知问题和解决方案。我会尝试在 https://getbootstrap.com/
中找到反馈窗口