我有一个我要发布到npm的打字稿项目。我的所有TS源都在一个名为src
的文件夹中,这些文件被编译到名为dist
的文件夹中。 src
可能包含一些html模板,可能包含css文件和其他资产。作为构建的一部分,这些资产都被复制到dist文件夹。
也会在dist文件夹
中生成源地图文件发布时我只想发布dist文件夹,但我希望dist文件夹中的源地图能够正常工作。
当我发布到npm时,我希望包含整个dist
文件夹,但忽略src
文件夹中的所有非ts文件。
我需要.ts
文件的原因是因为dist文件夹中的源图指向这些源文件。调试时我需要原始源才能在浏览器中看到它。
因此,对src
.ts
文件,我需要忽略src
例外
根据我的研究,我已经尝试了以下内容,应该尽我所能。
# standard ignores
node_modules/
karma.conf.js
spec/
# ignore src
src/
# override above and include ts files
!src/**/*.ts
!src/**/*.d.ts
当我使用这个文件打包时,我得到了包中的整个src文件夹,包括html,css和图像文件。
我不确定以上内容是否适用于src
文件夹下的ts文件,所以我也试过了
!src/actualFile.ts
但结果是一样的。
答案 0 :(得分:1)
<强>解决方案:强>
将通配符**/*
添加到您的忽略src
模式中,使其成为:
# ignore src
src/**/*
其他评论:
您的上一个否定模式(即!src/**/*.d.ts
)可以省略。它通过之前的否定模式(即!src/**/*.ts
)实际上变得多余。
单独使用!src/**/*.ts
将确保*.d.ts
目录中的所有src
文件也包含在内。
完成修订后的.npmignore
为清楚起见,完整修订后的.npmignore
(根据您提供的示例)应为:
# standard ignores
node_modules/
karma.conf.js
spec/
# ignore src
src/**/*
# override above and include ts files
!src/**/*.ts