node_modules 文件夹太大

Car*_*lea 18 javascript node-modules gulp package.json

我使用 Gulp 已经有一段时间了,要么我没有注意到它从一开始就占用了这么多空间,要么大小一直在增长。

我只将它用于非常正常的前端工作。例如,这是我的请求部分gulpfile.js

var gulp         = require('gulp'),
    autoprefixer = require('gulp-autoprefixer'),
    browserSync  = require('browser-sync'),
    concat       = require('gulp-concat'),
    copy         = require('gulp-copy'),
    del          = require('del'),
    htmlmin      = require('gulp-htmlmin'),
    merge        = require('merge-stream'),
    streamqueue  = require('streamqueue'),
    cleancss     = require('gulp-clean-css'),
    gulpif       = require('gulp-if'),
    newer        = require('gulp-newer'),
    imgmin       = require('gulp-imagemin'),
    plumber      = require('gulp-plumber'),
    postcss      = require('gulp-postcss'),
    order        = require('gulp-order'),
    rename       = require('gulp-rename'),
    runSequence  = require('run-sequence'),
    sass         = require('gulp-sass'),
    sourcemaps   = require('gulp-sourcemaps'),
    uglify       = require('gulp-uglify'),
    uncss        = require('gulp-uncss');
Run Code Online (Sandbox Code Playgroud)

现在,根据du -sh,node_modules 重 2.2GB,我认为这太多了。我想更深入地挖掘,所以我查看了所有根模块:

DaisyDisk 看一个普通的 node_modules/ 文件夹


我在这里可能很天真,但我只是期待一些 javascript 功能,我不明白这些模块,尤其是顶级模块,如何或为什么会如此之大。

这就是 Gulp 的设计方式吗?我是在倒退吗?我可以改进这个(除了不使用它/那些)吗?

小智 5

我想到了一些方法:

\n
    \n
  1. 它更多的是关于你的 package.json,所以如果你可以优化它,它是一个非常好的选择:

    \n
      \n
    • 将包作为 devDependency 和依赖项分开,它有助于减少生产模式下的 node_modules 大小(当您\xe2\x80\x93production在 npm install 上使用该标志时)。
    • \n
    • 用较轻的库或依赖项较少的库替换一些大小较大或具有过多依赖项的库。
    • \n
    \n
  2. \n
  3. 使用node-prunemodclean或其他类似的包从node_modules中删除不必要的文件。

    \n
  4. \n
\n