我制作了一个打字稿模块(名为 moduleA
) . 我想发布这个包,我想从另一个打字稿项目中使用它 .
目前,我使用'npm install ../moduleA'安装了'moduleA',因为这只是一个测试 . 并且这些文件必须如下所示 .
B
node_modules
moduleA
dist
index.ts
如您所见, moduleA
的根目录中有一个目录 dist
. 我想用下面的打字稿导入这个 index.ts
. import A from 'moduleA';
如果在moduleA文件夹中有 index.ts
,这将有效 . 如果这是javascript文件,我可以将其写为package.json的 main
属性 .
但是,在这种情况下,我想直接使用typescript,我不想把index.ts放在dist文件夹之外 .
而且我不想制作另一个像这样的索引 .
import d from './dist/index';
export default d;
因为dist中有几个文件夹,我想从项目中引用它们取决于 moduleA
.
有没有很好的方法来指定包的默认打字稿文件?
1 回答
在package.json中指定typescript是很好的选择 . "typings"的 property 对我来说很好 . 这是下面的好参考 . https://www.typescriptlang.org/docs/handbook/typings-for-npm-packages.html
当我为此属性指定定义文件时,该文件将作为定义加载 . 但是,我还需要记住使用“主要”属性 . Cuz,打字只是编译时间的定义 . 代码的实例位于“main”属性中指定的JavaScript中 .