typescript 导入字体和某些图标时出错

mxg2im7a  于 2022-12-14  发布在  TypeScript
关注(0)|答案(2)|浏览(256)

我试图建立一个简单的网站使用Astro,它运行完美的罚款时使用astro dev,但我不能建立网站使用astro build,因为这种情况发生:
我得到的错误:

error   Named export 'faGithub' not found. The requested module '@fortawesome/free-brands-svg-icons' is a CommonJS module, which may not support all module.exports as named exports.
  CommonJS modules can always be imported via the default export, for example using:
  
  import pkg from '@fortawesome/free-brands-svg-icons';
  const { faGithub, faLinkedin, faDiscord } = pkg;

下面是我的代码:

import {
    faGithub,
    faLinkedin,
    faDiscord,
} from "@fortawesome/free-brands-svg-icons";

下面是我的tsconfig.json文件:

{
    "compilerOptions": {
        "target": "ESNext",
        "module": "ESNext",
        "moduleResolution": "node",
        "resolveJsonModule": true,
        "isolatedModules": true,
        "types": ["astro/client"]
    }
}
5uzkadbs

5uzkadbs1#

我也一直在努力寻找解决这个问题的办法。
以下是相关的错误报告:https://github.com/FortAwesome/Font-Awesome/pull/19041
如果你在node_modules/@fortawesome/free-brands-svg-icons/packages.json build works中添加“类型”:“模块”,可以快速尝试一下。
正如bug报告中提到的,修复将包含在下一个版本的软件包中。现在我使用一个肮脏的黑客,在构建之前用sed更改free-brand-svg-icons的packages.json文件。

nr7wwzry

nr7wwzry2#

你有没有试过Astro Icons?它已经优化,你可以从许多库导入所有图标,包括fontawesome,因为你可以看到在the icon sets

相关问题