首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么一个人应该在任务跑步者(咕噜声)上使用模块绑定器(webpack)?

为什么一个人应该在任务跑步者(咕噜声)上使用模块绑定器(webpack)?
EN

Stack Overflow用户
提问于 2015-09-21 21:27:30
回答 1查看 2.6K关注 0票数 10

在过去,我使用了一个约曼生成器Grunt来完成我所有的开发任务。通常,在做一个项目时,我会使用它和罗盘一起编译我的scss,然后打包并丑化我的JS,优化图像,阅读我的代码,以及许多其他有用的东西。

最近,我看到了一种趋势,人们使用webpack而不是咕哝插件来完成许多这些任务。为什么会这样呢?在这方面,模块绑定器有什么更好的地方呢?

EN

回答 1

Stack Overflow用户

发布于 2015-09-22 01:28:26

我相信其他人也有自己的理由,但我之所以迁移到webpack (更确切地说是webpack-dev-server),是因为它是serves your bundle from memory (而不是磁盘),而它的观察者will recompile only the files you changed while reusing the rest from cache (在内存中)。这使得开发速度快得多。我的意思是,当我在积极地编辑代码时,我可以用“崇高文本”的ctrl +s,当我选择+选项卡到Chrome时,它已经完成了重建。我以前有一个咕噜+浏览+咕噜-监视设置,每次保存(即在我在grunt构建中进行了一系列专门的优化之后),至少需要5秒才能重建。话虽如此,我还是把webpack和戈普融为一体,所以我为我的项目找了一个任务跑者。

编辑1:我还想补充的是,旧的grunt + LESS/SASS + browserify + uglify + grunt-watch设置没有很好的缩放。我白手起家做了一个重大项目。一开始很好,但后来随着项目的发展,情况每况愈下。最后,等待“咕噜”完成每个ctrl + s的构建变得非常令人沮丧,显然,我也在等待一堆未修改的文件。

另一个好的小东西是webpack允许您在.js中要求样式表,这将在同一个模块中建立源文件的耦合。最初,我们通过在.less文件中使用导入来建立样式表依赖关系,但是在同一个模块中断开连接的源文件并建立了一个单独的依赖关系图。再说一遍,所有这些都是自以为是的,这只是我个人的看法。我相信其他人会有不同的想法。

编辑2:好的,在下面的一些讨论之后,让我尝试提供一个更简洁和不那么固执己见的答案。webpack做得很好的一件事是,它可以观看、读取、预处理和更新缓存,并能以最少的文件I/O和处理服务。Gulp管道工作得很好,但是当涉及到捆绑步骤时,它不可避免地不得不从一个临时目录读取所有文件,包括那些未修改的文件。随着项目的发展,等待此步骤的时间也会增加。另一方面,webpack开发服务器将所有缓存在内存中的内容保存在内存中,因此开发期间的等待时间保持在最低限度。然而,要实现这种内存缓存,webpack将需要覆盖从手表到服务器,所以它需要知道您的预处理吐露。一旦您将webpack配置为这样做,您就可以重复使用同样的信任,用于除了dev服务器之外的生成。所以我们在这种情况下结束了。话虽如此,你到底想让webpack做什么,仍然取决于你个人的喜好。例如,我不做图像处理或衣领在我的开发服务器。事实上,我的这一步是一个完全不同的目标。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32704827

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档