使用requirejs部署仅限javascript的单页应用程序

时间:2013-04-09 11:09:15

标签: requirejs single-page-application

据我了解,r.js有两种主要的优化模式......单个文件或整个项目。

整个项目优化有效地将整个项目复制到dist文件夹中,似乎更适合更大的多页面应用程序。

但是,假设您有单页应用程序,特别是相对较小的应用程序,您肯定希望将所有JavaScript连接成一个和一个文件(包括RequireJS / almond)。

你如何部署这个?如果我有可用的服务器端语言,我想服务器可以检查环境标志并加载适当的脚本标记。

但如果环境是静态Web服务器,应该怎么做?这应该作为构建脚本的一部分来处理吗?

1 个答案:

答案 0 :(得分:2)

对于这样的事情,我总是建议使用RexCapistrano等工具,这使得配置管理和部署非常容易,即使对于单页或静态应用程序也是如此。

我现在正在使用Capistrano将一些应用程序部署到我的服务器上。在Capistrano脚本中,我定义了几个任务,这些任务将对我的HTML文件进行缩小/丑化以及所需的补丁(实际上使用位于js-built的JavaScript文件,其中存储优化文件而不是{{ 1}}目录)。

因此,静态网站的部署脚本会上传其最新版本,启动缩小过程(可能使用r.js)然后修补js文件以使用您的缩小版本脚本。

由于Capistrano和Rex非常容易理解,这甚至没有多少开销,因此生成的部署脚本可能包含大约30行代码。这绝对值得。