3

我即将开始一个新的 emberjs 项目,我无法决定是使用 requirejs 还是 rake-pipeline。

ember 的建议似乎是使用 rake-pipeline。

有人对争论的任何一方有任何想法吗?

4

1 回答 1

5

如果您想在页面加载后根据需要动态加载依赖项,那么 requirejs 是首选选项。

但是,如果在页面加载时加载所有脚本对您来说不是问题(javascript 的数量很少,或者仅需要大量 javascript 来呈现内容),那么 rails 资产管道为您减少了很多样板文件,因为即使你使用 require js 你最终将不得不使用 r.js 编译器将所有依赖项捆绑到一个脚本中。Rails 在幕后透明地完成所有这些连接和缩小,而您根本无需做任何事情。使用 rails 资产管道可以为您简化滚动部署,因为在开发脚本中,所有脚本都作为单独的文件提供而无需缩小,而在生产中脚本则作为缩小和连接的文件提供。这不需要您在每次更改时运行任何构建脚本或优化器,并且您不需要 甚至不必修改 HTML 文件中的任何内容。只要您遵循 sprockets 规范并指定依赖项(在 requirejs 的情况下您也必须这样做),一切都可以开箱即用。

此外,Rails 资产管道不会将您的客户端应用程序绑定到 Rails 平台,因为 sprockets(在 Rails 管道后面使用的依赖管理器)可以在没有 Rails 的情况下独立使用。

但是,如果 AMD 兼容性对您很重要(例如,您计划在 NodeJS 服务器和客户端上使用相同的代码,或者正在创建可分发的库),那么 requirejs 是一个不错的选择。

您还可以查看https://github.com/jwhitley/requirejs-rails/,它尝试将 requirejs 集成到 rails 管道中。在采用这种方法之前,请确保您对 requirejs 和 rails 有一定程度的熟悉。

于 2012-08-16T10:33:34.100 回答