Node 能不能像 Maven一样管理组件,而不是每个工程下都有 node_modules
发布于 10 年前 作者 xrfinbupt 7005 次浏览 最后一次编辑是 8 年前

每个工程下面都有 node_modules/ ,感觉和 Ant 很像啊

7 回复

npm可以移除工程下的node_modules,需要的modules去 仓库找?

每次通过npm -g install xxx来安装

首先,你要知道…node 是如何找包的…

node 的找包是基于路径的… ./node_modules -> ../node_modules

如果你想像maven 那样…你可以手动的在你项目的顶层目录建一个node_modules …你所有库的安装都在这个顶层目录进行.这算一个技巧…

不过,我个人不推荐这么.这样不方便项目的迁移,和IDE 的语法提示…你能想象点一个方法名…有几百选择结果给你?

还有就是 npm -g install xx 这个一般是为了安装命令行工具… 有系统兼容性问题…例如,windows…都在 c:xxx/appdata 里面,你的项目完全不可能找到库路径.

linux 或者 mac 如果你还得在 根目录 建立一个 node_modules 的软连接到那个安装目录…

npm 的设计就是这样做的,每个项目最先引用项目文件夹下的 node_modules,这样可以确保引用到正确版本。 虽然这样也有一定弊端,但是整体来说还是效果很好的。

为了保证各个项目的模块不相互影响,我还是推荐放到在项目的目录下

等楼主同时写多个项目,依赖相同模块的不同版本的时候,会深感放全局的巨大坑。

回到顶部