npm publish忽略node_modules中的文件

时间:2016-01-04 21:48:26

标签: javascript node.js npm package

我已经创建了npm包。在这个包中,我使用了一些模块,我将它们放到node_modules中,以便能够将它们作为“模块”,例如我有模块node_modules / my-module.js,我需要在我的代码中作为require('my-module) “)。现在我做“npm发布”然后在另一个项目中我“npm i”来安装我的模块。它已安装,但我没有放入node_modules的模块。我试图将下一行添加到.gitignore和.npmignore,但它没有帮助:

node_modules / *

!node_modules /我-module.js

我做错了什么?

3 个答案:

答案 0 :(得分:4)

我认为NPM会忽略node_modules/中的所有文件,因此node_modules.gitignore.npmignore的设置规则将无效。

  

此外,除了捆绑的依赖项外,node_modules中的所有内容都将被忽略。 npm会自动为您处理此问题,因此请不要将node_modules添加到.npmignore。

Source

答案 1 :(得分:2)

我不清楚为什么你想要在node_modules目录中而不是在package.json文件中有一个包,但简短的回答是它不是可能,因为that directory will be always ignored,正如规范所说。

所以有两种方法,你可以将这些模块放在另一个目录中,并从相对路径中获取它,或者在NPM中发布它们,然后从package.json文件中获取它们。 / p>

答案 2 :(得分:1)

您是否尝试过使用以下内容:

{{1}}

我在我的gitignore中有这个,它允许发布。