m90*_*m90 10 package-managers gitignore node.js npm npmignore
我试图在包npm的目录中只下载一个文件npm install.
该目录看起来像:
+- dist/
+- 1.0.0/
+- 1.0.1/
+- ...lots of other dirs...
+- file.js
Run Code Online (Sandbox Code Playgroud)
我希望npm忽略所有内容,但file.js我尝试在我的内容中包含以下内容.npmignore:
dist/
!dist/file.js
Run Code Online (Sandbox Code Playgroud)
然而,dist当我安装软件包时,npm仍然会下载所有目录.我认为这应该是有效的,.gitignore但显然我在这里遗漏了一些东西.
是的,它正在使用glob模式:https://docs.npmjs.com/misc/developers#keeping-files-out-of-your-package
但我会采用不同的方法:
dist/*
dist/.*
!dist/file.js
Run Code Online (Sandbox Code Playgroud)
为了不忽略整个文件夹,但它的内容(可能不需要第二行).
建议:白名单而不是黑名单
回答用例时,我建议将您想要发布的内容明确列入白名单,files而package.json不是使用 条目将其列入黑名单.npmignore,因为这样您就更有可能不会意外发布错误的文件。另请参阅: https: //medium.com/@jdxcode/for-the-love-of-god-dont-use-npmignore-f93c08909d8d
这是一个具体的示例包,看起来有点像:
{
"files": [
"gitignore",
"cirodown",
"cirodown.js",
"cirodown.embed.min.css",
"cirodown.local.min.css",
"cirodown.min.css",
"index.js",
"main.liquid.html",
"main.scss",
"nodejs.js"
],
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3254 次 |
| 最近记录: |