繁体   English   中英

是否可以在单个node.js项目中使用两个不同版本的npm模块?

[英]Is it possible to use two different versions of a npm module in single node.js project?

这个问题非常自我解释。 在一个项目中,我有多个快递应用程序实例。 我想创建一个新的API,它将使用express v3而不是我目前在我的项目中使用的v2。

我有一个package.json文件。 是否有可能让npm下载两个不同版本的快递?

谢谢。

从技术上讲,根据您的限制,您的问题的答案是否定的 npm将在单个node_modules目录中安装给定package.json文件的依赖node_modules ,因此文件系统本身将阻止同一目录中存在同一程序包的两个版本。 但是,有很多变通方法。 您可以创建一个简单的shim模块,它仅依赖于express v3并公开express v3模块,然后在需要v3的应用程序部分中使用它。

您还可以执行节点社区文化建议的操作,并将应用程序拆分为一小部分。 这是节点中的明显趋势 - 较小的模块更好。 Express也很容易,因为它支持在父应用程序中安装子应用程序。

您还可以使用npm link和符号链接来玩一些技巧,以及如何方便地同时处理来自两个不同模块的代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM