Node 中的 npm 是否类似于 Django 中的 virtualenv?
Is npm in Node like virtualenv in Django?
我是 NodeJS 的新手,我无法理解 npm
我正在学习 this 教程,但我似乎无法将这些概念映射到我从 Django 经验中了解到的概念。
我的软件包具体安装在哪里?我不能像 Django 和 virtualenv 一样拥有项目特定的包吗?如果我理解正确,这可能会导致将来出现兼容性问题。
嘿,当您使用 npm 安装包时,包将安装到工作目录中的 node_modules
(在项目到项目的基础上)。
全局安装包时除外 (npm install -g packagename)
npm
就像 Python 中的 pip
,它是一种下载和安装软件包的方式。 node_modules
是安装这些包的目录。这与虚拟环境不同;其中有解释器和其他库。
在node中,你可以获得一个虚拟环境(详见:is there an virtual environment for node.js?)。想法是一样的 - 一个隔离的环境,用于更好的测试和可移植性。
在 Python 中,有 requirements.txt
(和 pipenv
),在节点中有 package.json
(用于包)和模块(在 node_modules
).
documentation 更详细地介绍了它们的区别;但是来自 Python,您可以将节点包视为具有 package.json
的东西(因此,就像 setup.py
),而模块就是您可以 import
(或节点中的 include()
)。
我是 NodeJS 的新手,我无法理解 npm
我正在学习 this 教程,但我似乎无法将这些概念映射到我从 Django 经验中了解到的概念。
我的软件包具体安装在哪里?我不能像 Django 和 virtualenv 一样拥有项目特定的包吗?如果我理解正确,这可能会导致将来出现兼容性问题。
嘿,当您使用 npm 安装包时,包将安装到工作目录中的 node_modules
(在项目到项目的基础上)。
全局安装包时除外 (npm install -g packagename)
npm
就像 Python 中的 pip
,它是一种下载和安装软件包的方式。 node_modules
是安装这些包的目录。这与虚拟环境不同;其中有解释器和其他库。
在node中,你可以获得一个虚拟环境(详见:is there an virtual environment for node.js?)。想法是一样的 - 一个隔离的环境,用于更好的测试和可移植性。
在 Python 中,有 requirements.txt
(和 pipenv
),在节点中有 package.json
(用于包)和模块(在 node_modules
).
documentation 更详细地介绍了它们的区别;但是来自 Python,您可以将节点包视为具有 package.json
的东西(因此,就像 setup.py
),而模块就是您可以 import
(或节点中的 include()
)。