npm 5.8.0ProjectA和一个ProjectBProjectB 是一种依赖 ProjectA出于开发目的,我ProjectB在ProjectA的package.json中引用了"projectB": "file:../projectB".基本上我需要的唯一文件是在libWebpack的输出文件夹中.
如果我使用上面的配置安装此依赖项,npm将把整个文件ProjectB夹安装到node_modules中.它将包含所有projectB的node_modules,配置文件,src文件夹等.
除了这不能成为预期的行为之外,这会导致错误.例如,某些已安装的@types会抛出错误,因为它们被视为重复.@types和其他包来自ProjectA和ProjectB似乎"碰撞".这些软件包是作为参考的"dependencies"两个ProjectA及ProjectB居多.
如果我使用npm链接,则会出现相同的(见上文)行为.整个文件夹将安装到ProjectAnode_modules中.
我实际上有一个-file 可能很重要.所以,当我使用一个文件生成.如果我然后通过一切正常安装.我认为这确实考虑了-file..npmignoreProjectBnpm packprojectB.tgzProjectB"projectB": "file:../projectB.tgz"npm pack.npmignore
我对这个解决方案的问题在于,我不仅需要在ProjectB每次应用更改时进行构建,而且还需要构建npm pack.
ProjectBnode_modules我想这是最愚蠢的解决方法.如果我再次引用ProjectBvia "projectB": "file:../projectB"但在构建之后删除它的node_modules,则它们在安装后不会出现.因此,我没有任何例外.
我想这不是一个有效的解决方案,因为仍然ProjectB安装整个文件夹.
这里的最佳做法是什么?什么是合理的constallation ProjectA并ProjectB以安装ProjectB从本地源?
您可以尝试将以下代码放入projectB的package.json文件中吗?
"files": [
"lib/*"
]
Run Code Online (Sandbox Code Playgroud)
这应该告诉任何 npm install 仅使用数组中指定的文件。显然,您可以使用更多条目来扩展它们。请参阅文档了解更多详细信息
| 归档时间: |
|
| 查看次数: |
230 次 |
| 最近记录: |