Node 中的 npm 和 Django 中的 virtualenv 一样吗?

Zah*_*am2 5 django virtualenv node.js npm

我是 NodeJS 新手,无法理解 npm

我正在关注教程,但似乎无法将这些概念映射到我从 Django 经验中了解到的概念。

我的软件包究竟安装在哪里?我不能像 Django 那样使用 virtualenv 来拥有特定于项目的包吗?如果我理解正确,这可能会导致将来出现兼容性问题。

Bur*_*lid 10

npm就像pip在 Python 中一样,它是一种下载和安装软件包的方式。node_modules是安装这些包的目录。这与虚拟环境不同;它具有解释器和其他库。

在 node 中,您可以获得一个虚拟环境(更多详细信息,请参阅:node.js 是否有虚拟环境?)。想法是一样的 - 一个更好的测试和可移植性的隔离环境。

在 Python 中,有requirements.txt(和pipenv)、节点中有package.json(用于包)和模块(进入node_modules)。

所述文档进入稍微详细成这些的差值; 但是来自 Python,您可以将 node 包视为具有package.json(所以,如 a setup.py)的东西,而模块只是您可以import(或include()在 node 中)的任何文件。