我正在尝试npm
只下载程序包npm install
上目录中的单个文件。
目录如下:
+- dist/
+- 1.0.0/
+- 1.0.1/
+- ...lots of other dirs...
+- file.js
我希望npm忽略除file.js
之外的所有内容,所以我尝试在.npmignore
中包含以下内容:
dist/
!dist/file.js
然而,当我安装软件包时,npm仍会下载dist
中的所有目录。我认为这应该像.gitignore
一样工作,但显然我在这里遗漏了一些东西。
答案 0 :(得分:8)
是的,它正在使用glob模式:https://docs.npmjs.com/misc/developers#keeping-files-out-of-your-package
但我会有不同的方法:
dist/*
dist/.*
!dist/file.js
为了不忽略整个文件夹,但它的内容(可能不需要第二行)。
答案 1 :(得分:1)
回答用例,我建议在dte
中用files
entry明确列出要发布的内容,而不用package.json
进行黑名单,因为这样做会导致很多您很有可能不会意外发布错误的文件。另请参阅:https://medium.com/@jdxcode/for-the-love-of-god-dont-use-npmignore-f93c08909d8d