据我了解,r.js有两种主要的优化模式......单个文件或整个项目。
整个项目优化有效地将整个项目复制到dist
文件夹中,似乎更适合更大的多页面应用程序。
但是,假设您有单页应用程序,特别是相对较小的应用程序,您肯定希望将所有JavaScript连接成一个和一个文件(包括RequireJS / almond)。
你如何部署这个?如果我有可用的服务器端语言,我想服务器可以检查环境标志并加载适当的脚本标记。
但如果环境是静态Web服务器,应该怎么做?这应该作为构建脚本的一部分来处理吗?
答案 0 :(得分:2)
对于这样的事情,我总是建议使用Rex或Capistrano等工具,这使得配置管理和部署非常容易,即使对于单页或静态应用程序也是如此。
我现在正在使用Capistrano将一些应用程序部署到我的服务器上。在Capistrano脚本中,我定义了几个任务,这些任务将对我的HTML文件进行缩小/丑化以及所需的补丁(实际上使用位于js-built
的JavaScript文件,其中存储优化文件而不是{{ 1}}目录)。
因此,静态网站的部署脚本会上传其最新版本,启动缩小过程(可能使用r.js)然后修补js
文件以使用您的缩小版本脚本。
由于Capistrano和Rex非常容易理解,这甚至没有多少开销,因此生成的部署脚本可能包含大约30行代码。这绝对值得。