.npmignore:忽略给定文件类型以外的整个文件夹
.npmignore: ignore whole folder except given file types
背景
我有一个要发布到 npm 的打字稿项目。我所有的 TS 源都在一个名为 src
的文件夹中,这些源代码被编译到一个名为 dist
的文件夹中。 src
可能包括一些 html 模板,可能 css 文件和其他资产。作为构建的一部分,这些资产都被复制到 dist 文件夹。
源映射文件也在dist文件夹中生成
发布时,我只想发布 dist 文件夹,但我希望 dist 文件夹中的源映射能够正常工作。
我想要达到的目标
当我发布到 npm 时,我想包含整个 dist
文件夹,但忽略 src
文件夹中的所有非 ts 文件。
我需要 .ts
文件的原因是 dist 文件夹中的源映射指向这些源文件。调试时我需要原始源代码才能在浏览器中看到它。
所以,我需要忽略 src
除了 src
中的 .ts
个文件
我试过的
我尝试了以下方法,根据我的研究,据我所知应该有效。
# 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
背景
我有一个要发布到 npm 的打字稿项目。我所有的 TS 源都在一个名为 src
的文件夹中,这些源代码被编译到一个名为 dist
的文件夹中。 src
可能包括一些 html 模板,可能 css 文件和其他资产。作为构建的一部分,这些资产都被复制到 dist 文件夹。
源映射文件也在dist文件夹中生成
发布时,我只想发布 dist 文件夹,但我希望 dist 文件夹中的源映射能够正常工作。
我想要达到的目标
当我发布到 npm 时,我想包含整个 dist
文件夹,但忽略 src
文件夹中的所有非 ts 文件。
我需要 .ts
文件的原因是 dist 文件夹中的源映射指向这些源文件。调试时我需要原始源代码才能在浏览器中看到它。
所以,我需要忽略 src
除了 src
.ts
个文件
我试过的
我尝试了以下方法,根据我的研究,据我所知应该有效。
# 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