javascript - 在 GitHub Pages 构建期间缩小 JavaScript?

标签 javascript performance build github-pages jekyll-bootstrap

我通过 GitHub Pages 建立了一个基于 Jekyll-Bootstrap 的静态网站。我的小网站包含大量 JavaScript,为了可维护性,我希望 GitHub 存储库中的所有 JavaScript 都保持人类可读。

但对于我网站的最终用户,我更愿意缩小 JavaScript。

是否有某种方法可以在 GitHub Pages 构建过程中构建一个 Hook 以缩小/丑化 JavaScript,以便最终用户可以下载较小的文件?

最佳答案

除了 safe mode 中的 Jekyll 之外,GitHub 页面构建服务不能运行任何其他代码。和 small number of included plugins .这样做是为了安全。

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

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


Jekyll 文档有 a guide用于测试基于 Travis 的构建。没有提到推送输出。您需要在 Travis conf 文件中的 after_success 派生脚本中。 An example from a site I maintain .

要验证您的推送,脚本需要访问您的 github 个人访问 token 。你不能直接把它放在部署脚本中,因为它是一个 secret 。请参阅 encrypting environment variables 上的 Travis 文档.

关于javascript - 在 GitHub Pages 构建期间缩小 JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40681675/

相关文章:

javascript - 返回对象的箭头函数简写

javascript - 在 fetch.then 中调用另一个函数 - Javascript

javascript - 如果用户单击一个链接,然后快速单击另一个链接,则不会触发第二个链接的 onclick。我们如何避免这种情况?

MySQL 查询在登台服务器上的运行速度比本地开发机器慢 5 倍

java - Maven 构建编译错误 : Failed to execute goal org. apache.maven.plugins :maven-compiler-plugin:3. 1:在项目 Maven 上编译(默认编译)

javascript - 为什么使用 ProgressEvent 对象调用加载事件?

c - 监控服务器的线程性能

actionscript-3 - AS3 try catch 重吗?

wpf - 如果无法将 'String'类型的值添加到 'UIElementCollection'类型的集合或字典中,则停止构建

build - 防止构建中断 - 使用预提交构建