.npmignore:忽略除给定文件类型之外的整个文件夹 背景
我有一个typescript项目,我正在发布给npm。我所有的TS源都在一个名为.npmignore:忽略除给定文件类型之外的整个文件夹 背景,npm,gitignore,npmignore,Npm,Gitignore,Npmignore,我有一个typescript项目,我正在发布给npm。我所有的TS源都在一个名为src的文件夹中,它们被编译到一个名为dist的文件夹中src可能包含一些html模板,可能包括css文件和其他资产。作为构建的一部分,这些资源将全部复制到dist文件夹 源地图文件也会在dist文件夹中生成 发布时,我只希望发布dist文件夹,但希望dist文件夹中的源地图正常工作 我正在努力实现的目标 当我发布到npm时,我希望包括整个dist文件夹,但忽略src文件夹中的所有非ts文件 我需要.ts文件的原因是
src
的文件夹中,它们被编译到一个名为dist
的文件夹中src
可能包含一些html模板,可能包括css文件和其他资产。作为构建的一部分,这些资源将全部复制到dist文件夹
源地图文件也会在dist文件夹中生成
发布时,我只希望发布dist文件夹,但希望dist文件夹中的源地图正常工作
我正在努力实现的目标
当我发布到npm时,我希望包括整个dist
文件夹,但忽略src
文件夹中的所有非ts文件
我需要.ts
文件的原因是dist文件夹中的sourcemaps指向这些源文件。调试时,我需要原始源代码才能在浏览器中看到它
因此,我需要忽略src
,除了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
但是结果是一样的。解决方案: 将通配符
***
添加到忽略src
模式,使其成为:
# ignore src
src/**/*
附加评论: 您最后的否定模式(即,
!src/***.d.ts
)可以省略。之前的否定模式(即,!src/***.ts
)有效地使它变得多余
使用!src/***.ts
将确保src
目录中的任何*.d.ts
文件也包括在内
完成修订
.npmignore
为清晰起见,完整修订的.npmignore
(根据提供的示例)应为:
# standard ignores
node_modules/
karma.conf.js
spec/
# ignore src
src/**/*
# override above and include ts files
!src/**/*.ts