16

编写模块化、独立的可测试代码确实很有意义——尤其是对于大型项目。

但是在一个我仍然需要在构建时集中和缩小我的项目的大项目中使用require.js/有什么区别?amd

4

3 回答 3

6

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

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

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

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

于 2012-12-21T15:42:14.893 回答
1

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

  • 条件加载
  • 异步加载
  • 逻辑模块
  • 嵌套依赖的抽象
  • 多版本支持
  • 自动缩小
于 2012-12-21T15:38:59.080 回答
0

Require.js 确实建议在生产中为您的 JavaScript 使用一个(或多个,如果这适合您的项目)JS 文件,因此您所做的对于较小的项目来说很常见。我认为你会使用它的小项目有两个主要原因(@Wolfgang Stengel 列出了所有的好处)。

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

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

于 2012-12-21T15:48:48.387 回答