我已经创建了npm包。在这个包中,我使用了一些模块,我将它们放到node_modules中,以便能够将它们作为“模块”,例如我有模块node_modules / my-module.js,我需要在我的代码中作为require('my-module) “)。现在我做“npm发布”然后在另一个项目中我“npm i”来安装我的模块。它已安装,但我没有放入node_modules的模块。我试图将下一行添加到.gitignore和.npmignore,但它没有帮助:
node_modules / *
!node_modules /我-module.js
我做错了什么?
答案 0 :(得分:4)
我认为NPM会忽略node_modules/
中的所有文件,因此node_modules
和.gitignore
中.npmignore
的设置规则将无效。
此外,除了捆绑的依赖项外,node_modules中的所有内容都将被忽略。 npm会自动为您处理此问题,因此请不要将node_modules添加到.npmignore。
答案 1 :(得分:2)
我不清楚为什么你想要在node_modules
目录中而不是在package.json
文件中有一个包,但简短的回答是它不是可能,因为that directory will be always ignored,正如规范所说。
所以有两种方法,你可以将这些模块放在另一个目录中,并从相对路径中获取它,或者在NPM中发布它们,然后从package.json
文件中获取它们。 / p>
答案 2 :(得分:1)
您是否尝试过使用以下内容:
{{1}}
我在我的gitignore中有这个,它允许发布。