npm发布会忽略node_modules中的文件

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

node_modules / *

!node_modules / MY-module.js

我做错了什么?

我相信node_modules/中的所有文件都被NPM忽略,因此在.gitignore.npmignore设置node_modules规则将不起作用。

此外,node_modules中的所有内容都被忽略,除了捆绑的依赖关系。 npm自动为你处理,所以不要麻烦添加node_modules到.npmignore。

资源

我不清楚为什么你想要在node_modules目录下有一个包,而不是在package.json文件中,但是简短的回答是这是不可能的,因为那个目录总是被忽略 。

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

你有没有尝试过使用类似于:

 !node_modules/ node_modules/* !node_modules/my-module.js 

我有这个在我的gitignore,它已经允许出版。