我一直在使用NPM for angular-4来支持拖放对象(ng2-drag-drop)。我发现缺少功能并决定将其添加到包中。
我所做的是分支原始项目并添加我的更改。在提交/推送到我的git后,我使用以下命令安装我的NPM:
npm install https://github.com/..... --save
NPM安装成功但是在查看我的node_modules时,我看到源文件丢失了,我只有root目录,包括package.json和其他一些文件。缺少任何源文件。
然后我尝试直接从作者git安装NPM,而不是运行:
npm install ng2-drag-drop --save
我用过
npm install https://github.com/ObaidUrRehman/ng2-drag-drop.git --save
我的叉子也有同样的问题。
为什么作者git和命名包之间的安装不同?是不是从同一个位置获取文件?如果不是,我该怎么办才能让它发挥作用?
答案 0 :(得分:1)
您无法看到src文件夹的原因是
如果你看到git repo,你会发现两个文件
gitignore
& npmignore
。
在那个npm ignore文件中,你会发现src被忽略,以防止它在运行npm命令时被添加到包中。
将文件保留在包裹之外
使用.npmignore文件将东西从包中取出。如果没有 .npmignore文件,但有一个.gitignore文件,然后npm将忽略 与.gitignore文件匹配的东西。如果你想包括 你的.gitignore文件排除的东西,你可以创建一个 清空.npmignore文件来覆盖它。和git一样,npm寻找 包中所有子目录中的.npmignore和.gitignore文件, 不仅是根目录。
当您执行npm install时,您需要覆盖这些设置以便能够在节点模块中获取src内容