我正在创建一个要发布到npm的Angular2组件库。我在整个源代码中都使用index.ts作为桶文件。我已经在我的*.ts文件中包含了.npmignore,但是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.
谢谢你的帮助。
发布于 2016-11-02 20:46:54
经过大量的研究和尝试,我发现我需要添加一个输出目录,以便将我的TS代码编译成JS和类型记录类型信息(.d.ts)文件。一旦生成的代码位于一个单独的文件夹中(在本例中为/lib),我的实现更改为从我的lib文件夹导入。我所有的.ts文件都保存在src文件夹中。
我安装了库的项目现在正在按预期进行编译。底线是确保生成的代码(JS和.d.ts文件)与源代码位于一个单独的文件夹中。现在看来很明显了。
https://stackoverflow.com/questions/40382847
复制相似问题