rake-pipeline或requirejs

dag*_*da1 3 javascript requirejs ember.js

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

灰烬建议似乎是使用rake-pipeline.

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

lor*_*non 5

如果要在页面加载后动态加载依赖项,那么requirejs是首选选项.

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

此外,Rails资产管道不会将您的客户端应用程序绑定到rails平台,因为sprockets(在rails管道中使用的依赖关系管理器)可以独立使用而无需使用rails.

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

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