在GitHub Pages构建期间缩小JavaScript?

the*_*Sin 6 javascript performance build github-pages jekyll-bootstrap

我有一个静态网站,通过GitHub Pages,建立在Jekyll-Bootstrap上.我的小网站包含了很多JavaScript,为了可维护性,我希望所有的JavaScript都能在GitHub仓库中保持人类可读性.

但对于我网站的最终用户,我宁愿缩小JavaScript.

有没有办法在GitHub Pages构建过程中构建一个钩子来缩小/ uglify JavaScript,以便最终用户可以下载较小的文件?

wjd*_*jdp 8

GitHub页面构建服务除安全模式下的 Jekyll 以及少量包含的插件外,不能在其上运行任何其他代码.这是为了安全起见.

您最好的选择是使用替代服务来构建您的站点并将结果推送回GitHub.该站点的源将驻留在主分支中,并且编译的源代码位于gh-pages中.

这样做的合适服务将是许多CI服务之一,例如Travis CI.这些通常用于在每次推送到回购时运行软件测试套件,但可用于构建您的网站并将结果推回给您.


Jekyll文档有一个测试Travis构建的指南.没有提到推送输出.您需要after_successTravis配置文件中衍生的脚本.我维护的网站的一个例子.

要对您的推送进行身份验证,脚本将需要访问您的github个人访问令牌.你不能直接把它放在部署脚本中,因为它是一个秘密.请参阅有关加密环境变量的Travis文档.