繁体   English   中英

如果我仍然在构建中隐藏所有文件,为什么我应该使用require.js?

[英]Why should I use require.js if I still concenate all files on build?

编写模块化,独立的可测试代码确实很有意义 - 特别是对于大型项目。

但是在一个大型项目中使用require.js / amd make会有什么不同呢?我仍然需要在构建时隐藏和缩小我的项目?

我想先说明我的回答,我认为Require.JS是一个完全没用的框架。 它使一个相当简单的概念过于复杂。

话虽这么说,在编写与平台无关的代码时,依赖性加载非常有用。

例如,假设您想要开发一个Web应用程序,您也可以将其移植到用于移动应用程序的Apache Cordova和用于桌面应用程序的AppJS。 您不希望重写所有业务逻辑,因此构建一个动态加载依赖项的引导程序以使软件适应多个体系结构是有意义的。 这样,您只有一个产品,可以在各种平台上运行。 为服务器端脚本添加NodeJS的使用,您不仅可以编写前端软件,还可以使用完全相同的代码编写后端。

模块化对跨平台项目有很大帮助,但正如我所说:Require.JS真的没那么有用。 我发现它过于复杂了。 相反,我只使用一个围绕jQuery的getScript函数构建的对象,该函数包含所有已加载包的注册表,以便开发人员不会尝试加载已加载的包(较大的项目)。

require.js有许多优点,例如:

  • 有条件的加载
  • 异步加载
  • 逻辑模块
  • 嵌套依赖项的抽象
  • 多元化支持
  • 自动缩小

Require.js建议使用一个(或更多,如果这适合您的项目)生成JavaScript的JS文件,所以你正在做的事情对于较小的项目是常见的。 我认为使用它的小项目有两个主要原因(@ Wolfgang Stengel列出了所有的好处)。

如果你在JS文件中组合jQuery或其他库,那可能不是正确的做法。 如果您可以使用CDN副本,则用户可能已经在其计算机上下载了该文件,这将花费更少的时间来加载您的JavaScript。

另一个好处是异步加载。 这将使您的JavaScript加载不会阻止您的网页呈现。 通常认为更快出现的网页是最终用户的更快网站。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM