【问题标题】:Is there any way to make Nodejs less of a disk-space burden?有没有办法让 Nodejs 减少磁盘空间的负担?
【发布时间】:2018-10-01 14:29:20
【问题描述】:

具体来说,为什么我必须为每个使用 Node 的项目加载/保存数千个 node_modules 文件?对我来说,这似乎真的是多余的和低效的,尤其是当大部分模块在项目之间是相同的时。我知道这个系统是为了防止开发人员需要让不同的项目使用不同的模块配置而设计的。我不明白的是;为什么 Node JS 没有设计为针对全局 node_modules 文件夹并使用 package.json 依赖项列表来指定使用/不使用哪些?我认为这基本上类似于 mongoose 以 MongoDB 目录为目标并且只访问特定项目需要的表。

我对 MEAN 有点陌生,所以我怀疑开发人员没有想到这一点,我只是想知道这个决定背后的想法。

【问题讨论】:

  • 你不能在 package.json 中指定它在哪里寻找 node_modules 吗? According to the doc, yes.
  • 全局安装模块不能解决这个问题吗?
  • npm install -g xxx
  • 有点,我想的是一个所有模块都可以全局访问的系统,但与全局安装不同,它并不是每个项目都固有地使用。
  • 我的印象是全局安装告诉每个使用节点的项目使用全局安装的模块,这不准确吗?

标签: json node.js mean-stack node-modules package.json


【解决方案1】:

如果您不想为每个项目单独安装模块,并且您的所有项目都使用每个依赖模块的完全相同的版本号,那么您可以在共享位置安装一次模块并使用它们在那里。

您可以通过以下方式全局安装模块(其中 NPM 确定全局共享位置):

npm -g install express

然后,像这样使用它:

const express = require('express');

或者,您可以将它们安装到您自己的共享位置:

cd /node
npm install express

然后,在您的所有项目中,您将使用:

const express = require('/node/express');

【讨论】:

  • @DanielBraunstein - 这回答了你的问题吗?
猜你喜欢
  • 1970-01-01
  • 2020-09-21
  • 2012-01-25
  • 2021-06-14
  • 2019-11-14
  • 1970-01-01
  • 1970-01-01
  • 2013-07-04
  • 2020-09-15
相关资源
最近更新 更多