首页 > 解决方案 > 如何在 React 中使用 @ 导入包?

问题描述

我正在构建一个 npm 包。

当用户使用我的包时,我希望他们使用“@”导入包,如下所示:

import { Package } from "@initial/package"

我将此添加到我的 tsconfig.json 中:

    "baseUrl": ".",
    "paths": {
      "@": ["src"],
      "@/*": ["src/*"],
      "@initial": ["src/components"]
    }

但是当我进行导入时:

import { Package } from "@initial/package";

它抛出此错误:找不到模块'@initial'或其相应的类型声明。

我在根目录中有我的 src 和 tsconfig.json 。

标签: reactjsnpmconfig

解决方案


您可以通过在 npm 中将项目名称更改为以 @ 开头,以便可以直接使用它而无需别名或任何外部库。

例如:

在 package.json:"name": "@initial/package"这必须反映到 npm 包中:

例如:

https://www.npmjs.com/package/@initial/package

注意:phantomChildren如果您需要保持模块原样但需要分离特定包以构建自己的依赖项,则可以使用:例如:

  "_phantomChildren": {
    "@initial/package": "....",
  },

推荐阅读