javascript - 在 Gatsby 中使用根导入插件为 NPM 包创建别名
问题描述
我已经安装了gatsby-plugin-root-import
插件来为我的 Gatsby 站点中的导入创建别名。我已经使用了一段时间,效果很好。
今天,我决定看看我是否可以将它用于我已经安装的 npm 包。我想我设置正确,但我收到一条错误消息,提示找不到模块:
Module not found: Error: Can't resolve 'FontAwesome' in '/sandbox/src/pages'
但是,当我查看我的代码时,它看起来应该可以工作:
{
resolve: 'gatsby-plugin-root-import',
options: {
// Node Modules
FontAwesome: path.join(__dirname, '@fortawesome/react-fontawesome'),
// Main Folders
SRC: path.join(__dirname, 'src'),
Assets: path.join(__dirname, 'src/assets'),
Components: path.join(__dirname, 'src/components'),
Config: path.join(__dirname, 'src/config'),
Layouts: path.join(__dirname, 'src/layouts'),
Pages: path.join(__dirname, 'src/pages'),
Plugins: path.join(__dirname, 'src/plugins'),
Styles: path.join(__dirname, 'src/styles'),
Utilities: path.join(__dirname, 'src/utilities'),
},
},
所有其他别名都可以正常工作——只有 FontAwesome 别名会创建未找到模块的错误消息。
知道为什么这不起作用以及我能做些什么来解决它吗?
谢谢。
PS这里是插件的链接: https ://github.com/mongkuen/gatsby-plugin-root-import
解决方案
我认为问题在于:
FontAwesome: path.join(__dirname, '@fortawesome/react-fontawesome'),
您将使用 node_modules 中的插件名称加入根文件夹。但是您需要查看 node_modules 文件夹,因为它不会像导入一样自动解析。
您能否改为测试以下行?
FontAwesome: path.join(__dirname, 'node_modules/@fortawesome/react-fontawesome'),
推荐阅读
- google-apps-script - 获取电子表格的 ID
- recursion - 不知道为什么 let 函数没有正确返回 sbcl lisp 中的值
- python - pandas.Series.str.replace() 基于另一个系列
- oop - D中类的比较运算符重载?
- android - 如何在 Room @Query 中使用参数字段?
- ios - RxSwift:结合两个网络请求返回一个值
- powerbi - Power BI:季度环比百分比变化
- google-apps-script - 日期过后删除 Google 表格中的一行
- firebase - 使用 POST 将单个文件自动导入到 Firestore:https://firestore.googleapis.com/v1beta1/{database}/documents.commit?
- php - 如何为 php/html 中的每个评论设置单独的背景颜色?