typescript 从包导入文件的路径

qhhrdooz  于 2023-03-24  发布在  TypeScript
关注(0)|答案(1)|浏览(160)

是否可以自定义从包导入文件的路径?
我有一个包,这是我们内部项目的UI工具包。现在使用WebPack构建后,我有以下项目结构:

- dist
  - components
  - index.d.ts
  - index.js

before build by webpack index.ts看起来像这样:

import { Button } from './components/Button';
...
import { Input } from './components/Input';

export { Button, ..., Input };

现在,如果我像这样导入组件:

import { Button } from '@package/name';

一切正常,我得到了想要的结果。但是,为了方便,我想稍微改变一下路径。
有没有一种方法可以让我可以从特定的路径中获取组件?让我们这样说:

import { Button } from '@package/name/base';
import { AccountIcon } from '@package/name/icons';

如果我只是更改dist文件夹的结构,它将给予我能够获取组件,但路径将如下所示(这是一个工作选项):

import { AccountIcon } from '@package/name/dist/icons';

是否有可能摆脱“dist”在路径和什么是最好的方法来做到这一点?也许有一些材料,可以阅读?没有找到任何关于它.
我试图改变package.json,在dist文件夹中创建一个结构,稍微改变了webpack配置,但它更像是试图找到变通方法,我没有得到想要的结果。

bksxznpy

bksxznpy1#

您可以使用package.json中的export字段来执行此操作。例如:

"exports": {
  "./base": "./dist/index.js",
  "./icons": "./dist/icons.js"
}

不要忘记"./",这是必需的。
(Note:这是基于别人的答案,现在已经被删除,因为它是由ChatGPT生成的。我把它的要点放回这里,因为答案实际上是有用的)

相关问题