当使用Requirejs以及何时使用捆绑的JavaScript?当使用Requirejs以及何时使用

2019-05-12 22:44发布

这可能是网络家伙一个愚蠢的问题。 但我在这个有点困惑。 现在,我已经在那里我使用了几个JavaScript文件来执行不同任务的应用程序。 现在,我使用Javascript 捆绑结合起来,然后再缩小的所有文件。 因此,在运行时会出现只有一个app.min.js文件。 现在, Requirejs用于在运行时加载的模块或文件。 所以,问题是,如果我已经把所有的事情在一个文件中,然后我需要requirejs? 或什么是一种使用情形,在那里我可以使用requirejs和/或捆绑?

请让我知道是否需要任何进一步的细节。

Answer 1:

这是许多精通JavaScript开发人员之间的争论激烈的话题。 许多其他的语言有一个“汇编”阶段,其中整个程序捆绑部署(JBoss的.WAR文件浮现在脑海中)。 是来自更传统背景的程序员经常赞成这种做法。

使用Javascript在最近几年已经看到这样的增长,这是很难准确的图表的最佳做法,但那些欣赏的JavaScript功能更强大的性质往往更喜欢的模块加载方式(如require.js用途)。

我写Frame.js这很像require.js,所以我的偏见是对模块加载程序的方法。

要直接回答你的问题,是的,它是一个或另一个。

对于包装你的脚本到一个文件中认为大多数人认为它使更多的压缩,因此效率更高。 相信的包装效率的优点是在大多数情况下可以忽略不计,因为:(1)模块的加载时间分布在整个会话,(2)单独的模块可以被压缩到几乎相同的百分比,(3)单独的模块可以通过高速缓存服务器和分别路由器,和(4)装载脚本仅在需要的时候最终允许加载对于一些用户较少的代码和更多的代码整体。

从长远来看,如果你可以看到一个优势,动态脚本加载使用它。 如果没有,捆绑你的脚本到一个文件中。



Answer 2:

一般来说,你只在开发过程中利用其装载形式RequireJS。 一旦网站完成并准备部署,您压缩代码。 这样做的优点是RequireJS知道你的依赖关系是什么,因而可以很容易地运行如下的代码以正确的顺序。 下面是它说,在RequireJS网站 :

一旦你完成了做开发,并希望部署代码为最终用户,则可以使用优化的JavaScript文件组合在一起,然后再缩小它。 在上面的例子中,它可以结合main.js和辅助/ util.js中成一个文件,然后再缩小结果。



Answer 3:

这取决于你的应用程序。 如果你正在做,只有适度的JavaScript(小于100KB精缩)服务器端的应用程序,然后去总捆绑,你可能会被罚款。

但是,如果你正在做一个JavaScript应用程序,并有一吨的在它的代码,那么您的需求将是不同的。

举例来说,在我的应用我捆绑所有的核心文件。 有jQuery的,下划线,骨干,我的主要的应用程序文件,我的用户登录系统,我的布局系统,我的通知和聊天系统,都是我的大初始文件的一部分。

但是我有许多其它模块以及不是初始包,被后那些加载的一部分。

该论坛,维基,所见即所得,颜色选择器,拖/放,日历和一些动画文件是第二类的一部分。 你需要做出合理的决定有什么常用的,需要立即VS什么可以推迟。

如果我有一切,我马上就可以得到的JavaScript的MEG,这将是疯狂的,使初始引导太慢以上。

第二类开始后下载initSuccess从最初的文件事件触发。

但是,第二类是比第一更智能,它加载什么是第一更重要。 例如,如果你正在寻找在维基它加载颜色选择器之前,它会载入维基。



文章来源: When to use Requirejs and when to use bundled javascript?