首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何提高webpack / babel的性能而不使用手表功能?

如何提高webpack / babel的性能而不使用手表功能?
EN

Stack Overflow用户
提问于 2015-03-25 21:41:09
回答 3查看 21.4K关注 0票数 27

我正在开发一个SBT/Scala项目,我想利用ES6特性和前端JavaScript层的新模块语法。SBT有自己的构建系统,我调整了一个现有的sbt插件,运行webpack来使用babel构建我的JS文件。目前的解决方案有点混乱,但它在sbt构建系统中工作和生活。

问题是,,它是慢的,。对于每一个变化,webpack的一个新的实例被创建,它从零开始编译所有的东西。

我知道我可以跳出sbt构建系统,只是在开发阶段单独使用webpack来查看和重建我的文件。但在此之前,我想知道是否有办法加快webpack的建设进程。

我查看了文档,在我看来,任何可用的缓存都只在内存中处理,这不适用于我的情况。或者,在webpack构建的独立运行过程中,是否存在某种文件缓存?例如,我所有的npm依赖项大部分时间不会改变,所以它们可以编译一次,缓存,然后简单地包含.

EN

回答 3

Stack Overflow用户

发布于 2015-04-23 14:31:07

需要考虑的一些配置:

票数 38
EN

Stack Overflow用户

发布于 2016-03-28 22:56:33

问题是它很慢。对于每一个变化,webpack的一个新的实例被创建,它从零开始编译所有的东西。

当我们的模组库变大(3.5k+)时,我们遇到了同样的问题,webpack在普通的MacBook 13上需要80秒的时间来执行最初的构建。

我们采用的方法是并行化转换阶段(基本上是webpack装载机),它在某些机器上的构建时间增加了高达500%。查看一下https://github.com/amireh/happypack的插件,看看它是否适合你。

它还不支持所有的加载程序,但babel-loader是支持的,我相信这正是您所需要的。

票数 4
EN

Stack Overflow用户

发布于 2016-02-07 09:03:10

Webpack有一个功能,可以让你创建‘DLL’(又名。(“库包”),您可以编译一次,与主应用程序代码分开。

与此相关的一个典型工作流是将任何大型的、不经常更改的库放在供应商库包中,然后编译一次,然后为自己的代码创建一个小得多的应用程序包。

我在这里写了一篇关于如何做到这一点的文章:https://robertknight.me.uk/posts/webpack-dll-plugins/

在上面@bebraw的建议中,我要特别指出的是: 1)将现有的小型库混在一起,而不是将它们包含在包中--这与创建库包具有相同的好处;如果您使用的是一个转换程序,那么重要的是,只通过module.loaders.(include|exclude)选项在您自己的代码上运行,而不是在node_modules/中的所有库代码上运行。

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

https://stackoverflow.com/questions/29267084

复制
相关文章

相似问题

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