为什么在后端使用模块加载?

时间:2016-05-16 18:32:25

标签: javascript node.js webpack amd jspm

我一直试图找到答案为什么webpack关心后端的模块加载。有可能需要这样做吗? JSPM也会进行后端模块加载吗?

2 个答案:

答案 0 :(得分:0)

假设您的第一个问题与“为什么预先捆绑客户端的JavaScript代码?”

一致。

模块捆绑有很多原因。一些:

  1. 简单文件聚合:捆绑相关代码可使更多任务更轻松/更直观。在捆绑这些文件之后,而不是部署大型文件目录树,而不是单个捆绑文件。
  2. 加载性能:单独加载客户端单独文件中的依赖关系历来非常慢。必须单独解析和评估每个文件,并且根据所使用的模块系统,在等待发现和加载依赖项时可能会产生相当大的延迟。
  3. 媒体类型抽象: Bundlers通常允许捆绑非JavaScript内容的方法。包含图像和样式表等资源非常方便,并鼓励使用它们的应用程序部分明确/明确地依赖它们。
  4. 树摇动:通过分析模块和代码之间的依赖关系,通常可以选择性地包含应用程序所需的内容并减少整个代码库的大小。这本身并不是捆绑的特征,但通常是因为有一些构建步骤的概念。
  5. 关于第二个问题

    JSPM确实提供此功能。这可以使用jspm bundle命令在命令行上完成。

答案 1 :(得分:0)

最简单的原因是性能。打开文件并关闭文件的过程比发送文件(流)所需的时间要慢,因此开放和关闭文件操作的次数越少,服务器发送请求的文件的速度就越快。因此,通过减少构成javascript / web项目的文件数量,浏览器完成获取文件并开始为最终用户处理文件的速度就越快。

良好的构建过程可以为您的Web项目做的事情不仅仅是简单地将所有Js文件添加到一起,因为JSPM等工具也可以将css和html文件合并到一个bundle.js文件中,进一步添加到您的结尾 - 用户体验。