在 Web App 中使用大量库
Using a lot of libraries in Web App
我是 Web 应用程序开发的新手。
我注意到很多库必须包含在应用程序中才能使事情变得更容易。我说的是 javascript 库,例如 jquery、bootstrap、jqueryUI 和 css 库,例如 bootstrap 等
现在我还发现 jQuery 有两种下载方式,一种是完整版,另一种是 min.js,我正在使用。
为此,我在某个地方(不记得在哪里)读到一旦投入生产,拥有 min.js 是个好主意,因为它会使应用程序更快。
所以我想到了一个问题,这是一个权衡吗?
我在 Web 应用程序中包含的库数量是否会影响其在生产中的性能?
Now I also found that two kind of downloads existed for jQuery one was
the full version and the other one was min.js, which I am using. For
that, I read somewhere (can't remember where) that once in production,
it's a good idea to have min.js because it will make the app be
faster.
min.js一个是完整版的缩小版。大幅简化它会删除多余的空格和字符,缩短变量名等,以 减少 js 文件的大小 。
除非你在一个非常快的网络上(想想 Intranet/本地 html 文件),缩小会加速你的 js 文件下载。 如果您的 js 文件 是呈现阻塞资源,这意味着您的页面呈现速度会更快。
https://developers.google.com/speed/ provides and excellent set of tools to optimize your site for speed. https://developers.google.com/speed/docs/insights/rules有规则和解释
So the question came to my mind is it a trade-off ?
在某种程度上是的,这是在较小的文件(即更快的站点下载)和可读性(您不能轻易理解缩小的文件)/构建复杂性(大多数应用程序将包括构建步骤)之间的权衡其中脚本文件的开发非缩小版本与其缩小/连接版本换出用于生产。
然而,有了源映射(请参阅 http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/)和 IDE 插件/良好的构建工具,这正在变得非常低开销。
Is the number of libraries I am including in my web app going to
affect its performance in production ?
是的,是的。下载时间和脚本执行时间将影响感知(用户可以多快开始使用页面)和实际性能(更多脚本 = 更多资源,尽管这不是什么大问题)。
您可以延迟加载您的脚本(例如 requirejs.org/),优化您的库文件以排除您不需要的内容(例如 http://getbootstrap.com/customize/, http://jqueryui.com/download/), use a CDN (see http://gtmetrix.com/why-use-a-cdn.html),确保您将脚本设置为缓存等
这绝不是全面的列表,而是一个忠告。在性能方面,最好(并且富有成效)先测量,然后根据导致(感知或实际)性能问题的原因找出您想要优化的内容。
Here 是 data.stackexchange 上使用的一种此类工具,但还有许多其他工具。
tldr;是的
我是 Web 应用程序开发的新手。 我注意到很多库必须包含在应用程序中才能使事情变得更容易。我说的是 javascript 库,例如 jquery、bootstrap、jqueryUI 和 css 库,例如 bootstrap 等
现在我还发现 jQuery 有两种下载方式,一种是完整版,另一种是 min.js,我正在使用。 为此,我在某个地方(不记得在哪里)读到一旦投入生产,拥有 min.js 是个好主意,因为它会使应用程序更快。
所以我想到了一个问题,这是一个权衡吗?
我在 Web 应用程序中包含的库数量是否会影响其在生产中的性能?
Now I also found that two kind of downloads existed for jQuery one was the full version and the other one was min.js, which I am using. For that, I read somewhere (can't remember where) that once in production, it's a good idea to have min.js because it will make the app be faster.
min.js一个是完整版的缩小版。大幅简化它会删除多余的空格和字符,缩短变量名等,以 减少 js 文件的大小 。
除非你在一个非常快的网络上(想想 Intranet/本地 html 文件),缩小会加速你的 js 文件下载。 如果您的 js 文件 是呈现阻塞资源,这意味着您的页面呈现速度会更快。
https://developers.google.com/speed/ provides and excellent set of tools to optimize your site for speed. https://developers.google.com/speed/docs/insights/rules有规则和解释
So the question came to my mind is it a trade-off ?
在某种程度上是的,这是在较小的文件(即更快的站点下载)和可读性(您不能轻易理解缩小的文件)/构建复杂性(大多数应用程序将包括构建步骤)之间的权衡其中脚本文件的开发非缩小版本与其缩小/连接版本换出用于生产。
然而,有了源映射(请参阅 http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/)和 IDE 插件/良好的构建工具,这正在变得非常低开销。
Is the number of libraries I am including in my web app going to affect its performance in production ?
是的,是的。下载时间和脚本执行时间将影响感知(用户可以多快开始使用页面)和实际性能(更多脚本 = 更多资源,尽管这不是什么大问题)。
您可以延迟加载您的脚本(例如 requirejs.org/),优化您的库文件以排除您不需要的内容(例如 http://getbootstrap.com/customize/, http://jqueryui.com/download/), use a CDN (see http://gtmetrix.com/why-use-a-cdn.html),确保您将脚本设置为缓存等
这绝不是全面的列表,而是一个忠告。在性能方面,最好(并且富有成效)先测量,然后根据导致(感知或实际)性能问题的原因找出您想要优化的内容。
Here 是 data.stackexchange 上使用的一种此类工具,但还有许多其他工具。
tldr;是的