【发布时间】:2017-06-22 21:12:56
【问题描述】:
我使用 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');
现在,根据du -sh,node_modules 的重量为 2.2GB,我认为这太过分了。我想更深入地挖掘,所以我查看了所有根模块:
我在这里可能很天真,但我只是期待一些 javascript 功能,我不明白这些模块(尤其是顶级模块)如何或为什么会这么大。
Gulp 就是这样设计的吗?我是在倒着做吗?我可以改进这个(除了不使用它/那些)吗?
【问题讨论】:
-
您的
package.json中有什么内容? Gulp 不会影响您的node_modules。 -
看看这个。这是一个网站,显示您的依赖项有多少其他依赖项。 uncss 真的很大,因为它有很多其他的依赖项。 npm.anvaka.com/#/view/2d/uncss
-
@Lucas 绝对。实际上在每个项目中我都必须
npm i。以uncss为例,它占用 242MB。想想 242MB 的空间中有多少行 javascript。有点不对劲。 -
每个人都应该在业余时间至少研究一下他们的 node_modules。里面有一些不应该的奇怪的东西。未使用的 dist/ 包含缩小/未缩小文件的目录,.exe 文件的多个副本(x64 和 x86)无论如何都无法在您的系统上运行,使用庞大库的软件包仅借用它们的 stripIndents 功能......这是“我将只使用几个依赖项......”重复数百次。指数增长。
-
我们都同意了吗?这是一个繁琐的手动实验切除过程(意味着它永远不会完成)还是有工具可以让这更容易?
标签: javascript gulp node-modules package.json