npm Rails 7:字体真棒图标不显示

gywdnpxw  于 2023-01-05  发布在  其他
关注(0)|答案(2)|浏览(178)

我遇到了一个问题。在我的Rails 7应用程序中,我尝试使用Font-Awesome图标。我安装了this npm包,然后添加了:

import "@fortawesome/fontawesome-free"

到我的app.ts.之后,我检查了页面,我把这个图标:

<i class="fa-solid fa-caret-down"></i>

但是图标没有出现。进入检查器模式,我可以看到图标的高度和宽度为0:0,所以安装一定有问题,也许我遗漏了一些东西。我已经尝试过安装Font-Awesome gem,而不是NPM,但是这给了我ESBuild的各种错误,比如无法编译. svg文件和一些其他扩展。我在安装中遗漏了什么?

更新

在安装gem font-awesome-sass并运行bundle install之后,我在我的app. scss中添加了这样的import语句:

@import "bootstrap/scss/bootstrap";
@import "font-awesome";

不幸的是,这会导致以下错误输出:

✘ [ERROR] [plugin sass-plugin] Can't find stylesheet to import.
  ╷
9 │ @import "font-awesome";
  │         ^^^^^^^^^^^^^^
  ╵
  - 9:9  root stylesheet

/app/node_modules/esbuild/lib/main.js:1596
  let error = new Error(`${text}${summary}`);
              ^

Error: Build failed with 1 error:
error: Can't find stylesheet to import.
  ╷
9 │ @import "font-awesome";
  │         ^^^^^^^^^^^^^^
  ╵
  - 9:9  root stylesheet
    at failureErrorWithLog (/app/node_modules/esbuild/lib/main.js:1596:15)
    at /app/node_modules/esbuild/lib/main.js:1052:28
    at runOnEndCallbacks (/app/node_modules/esbuild/lib/main.js:1468:61)
    at buildResponseToResult (/app/node_modules/esbuild/lib/main.js:1050:7)
    at /app/node_modules/esbuild/lib/main.js:1162:14
    at responseCallbacks.<computed> (/app/node_modules/esbuild/lib/main.js:697:9)
    at handleIncomingPacket (/app/node_modules/esbuild/lib/main.js:752:9)
    at Socket.readFromStdout (/app/node_modules/esbuild/lib/main.js:673:7)
    at Socket.emit (node:events:513:28)
    at addChunk (node:internal/streams/readable:324:12) {
  errors: [
    {
      detail: undefined,
      id: '',
      location: null,
      notes: [],
      pluginName: 'sass-plugin',
      text: "Can't find stylesheet to import.\n" +
        '\x1B[34m  ╷\x1B[0m\n' +
        '\x1B[34m9 │\x1B[0m @import \x1B[31m"font-awesome"\x1B[0m;\n' +
        '\x1B[34m  │\x1B[0m \x1B[31m        ^^^^^^^^^^^^^^\x1B[0m\n' +
        '\x1B[34m  ╵\x1B[0m\n' +
        '  - 9:9  root stylesheet'
    }
  ],
  warnings: []
}
yvfmudvl

yvfmudvl1#

此拼写错误仅出现在此处还是也出现在您的应用中?(fortawesome = fontawesome)

import "@fortawesome/fontawesome-free"
shyt4zoc

shyt4zoc2#

我明白了!真奇怪:)我是这样得到它的:

gem "font-awesome-sass", "~> 6.1" 
bundle install
@import "bootstrap/scss/bootstrap";
@import "font-awesome";

和图标(FontAwesome 5.15.4和具有fas fa-something的免费图标)完美地以这种方式工作:

<i class="fas fa-search"></i>

但是如果我想使用unicode图标作为::before和::after伪选择器中的内容,它们就不起作用。在codepen上测试了font awesome自己的代码,发现如果堆栈是font awesome free,unicode图标就不起作用,我放弃了,现在使用引导图标来实现这些目的。

相关问题