.npmignore 发布时不忽略 index.ts 文件

.npmignore not ignoring index.ts file when publishing

我正在创建一个要发布到 npm 的 Angular2 组件库。我在整个源代码中使用 index.ts 作为我的桶文件。我在我的 .npmignore 文件中包含了 *.ts,但是,index.ts 被包含在发布到 npm 的代码中。当我在使用的 Angular2 项目中安装该组件时,index.ts 包含在 node_modules 文件夹中安装的代码中。在整个 npm 安装库中设置 index.ts 会阻止主应用程序的构建,因为 index.ts 不在根文件夹中。令人惊讶的是,我的所有其他 .ts 文件都被排除在 npm 安装中。

这是我的 .npmignore 文件:

node_modules
npm-debug.log
Thumbs.db
.DS_Store
.idea
.vscode
*.ts
**/*.ts
**/index.ts
!*.d.ts
.gitignore
.npmignore
license-banner.txt
tsconfig.json
tsconfig.publish.json

除 index.ts 之外的所有内容都被忽略了。

我必须手动进入并删除每个 index.ts 文件然后一切正常。

我错过了什么导致 index.ts 被包含在内?

我正在使用 npm 版本 3.9.6。

感谢您的帮助。

经过大量研究和反复试验,我发现我需要添加一个输出目录,用于将我的 TS 代码编译成 JS 和 typescript 类型信息 (.d.ts) 文件。一旦生成的代码位于单独的文件夹中(在本例中为 /lib),我的实现更改为从我的 lib 文件夹中导入。我所有的 .ts 文件都保留在 src 文件夹中。

我安装了该库的项目现在正在按预期进行编译。底线是确保生成的代码(JS 和 .d.ts 文件)与源代码位于不同的文件夹中。现在看起来很明显。