迹忆客 专注技术分享

当前位置:主页 > 学无止境 >

如何使用 Git Hooks 自动压缩 CSS 和 JS

作者:迹忆客 最近更新:2023/02/01 浏览次数:

当我们将代码推送到生产环境时,理想情况下我们希望压缩客户端的 Javascript 和 CSS 文件。 一些开发人员仍然手动执行此操作,但如果我们使用 Git,自动执行此操作非常容易。

在本教程中,我将使用 Node.JS 组件 - 因此我们需要安装 Node.JS 。 你需要的两个包是 tersercssnano。 这些分别涵盖了javascript和CSS。我们可以执行下面的命令安装这两个组件

npm install terser -g
npm install cssnano -g

我们在这里使用 -g 是因为我们想从命令行运行它们。 接下来,我们需要找到 git hooks 目录。 如果想创建自己的自定义 git 钩子、目录,请参考 如何将你的 Githooks 移动到你的仓库 这篇文章进行操作。

否则,我们可以在存储库中的 .git/hooks 中找到 git hooks 目录。 我们将需要在执行 git 合并的每个位置编辑此文件。 这可能意味着在本地计算机或生产服务器上。

但是,如果按照前面提到的教程进行操作,则无需在多个位置进行编辑。 😉

创建你的钩子

接下来,在 hooks 目录中创建一个名为 post-merge 的文件。 将以下内容放入该文件中:

echo 'Installing Modules..'
npm install
echo 'Compressing CSS..'
cssnano views/style.css views/style.css
cssnano views/async.css views/async.css 
echo 'Compressing JS..'
terser views/local.js --output views/local.js --compress --mangle 

在这里添加了 3 行:2 行用于 cssnano,1 行用于 terser。 如果想要更多,我们可以添加额外的行来引用不同的文件。

cssnano 语法是 cssnano link/to/old/file.css link/to/new/file.css ,因此更新引用 cssnano 的两行来换成自己的文件。 这里只是覆盖服务器上的文件,但这可能不适合你。

对于 terser,语法类似,即 terser link/to/oldJs.js --output link/to/newJs.js --compress --mangle 。 terser 还有更多选项,我们可以在他们的 NPM 页面上查看,但这将满足我们的需求。

我还在文件加载时添加了一些信息,因此我们知道出于调试目的而发生了什么。

运行合并

现在我们已经添加了 post-merge 文件,当运行 git pullgit merge 时,这些命令将立即运行。 这意味着我们所有新加载的 CSS 和 JS 文件都将被压缩,从而为用户带来更快的加载时间。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

如何在 Windows 系统中卸载 git

发布时间:2023/04/09 浏览次数:212 分类:Git

在这篇简短的文章中,我们将学习如何卸载 Git,以及如何在从个人计算机的目录中卸载 Git 后删除这些文件。

如何检查 Git 的版本

发布时间:2023/04/09 浏览次数:160 分类:Git

在这篇检查Git最新版本的文章中,我们将学习如何在本地个人计算机或任何服务器上检查Git版本。

Git 如何重命名本地分支

发布时间:2023/04/09 浏览次数:64 分类:Git

大多数情况下,重命名分支机构是由于上述情况。 因此,在本教程中,我们将学习使用下面提到的技术更改本地 Git 分支的名称。

重命名 Git 存储库中的文件和目录

发布时间:2023/04/09 浏览次数:101 分类:Git

在本文中,我们将讨论 git 中的重命名过程。 我们使用 Git Rename 来更改工作目录中文件和文件夹的名称。

在 Git 中取消初始化存储库

发布时间:2023/04/09 浏览次数:185 分类:Git

本本文介绍如何通过 Git 命令行取消初始化 Git 存储库。git init 命令开发一个新的空置 Git 存储库。 它还用于重新初始化已经存在的 Git 存储库。

Git 仓库名称该如何命名

发布时间:2023/04/09 浏览次数:204 分类:Git

使用 Git 时,选择一个简洁且最新的存储库名称是一项艰巨的任务。本教程介绍了如何以独特的方式命名 Git 存储库。

配置 Git 以忽略文件模式更改

发布时间:2023/04/09 浏览次数:67 分类:Git

本文讨论配置 Git 以忽略文件更改 chmod 所需的步骤。 如果您更改 Git 正在跟踪的文件的权限,系统将在该文件中注册更改。

在 Git 中暂存已删除的文件

发布时间:2023/04/09 浏览次数:92 分类:Git

本文讨论了在 Git 中暂存已删除文件的必要步骤。我们知道 rm 命令可以删除一个文件,而无需将其从工作目录中移除。 那么,我们如何暂存已删除的文件以进行提交呢?

在 Git 中显示冲突文件

发布时间:2023/04/09 浏览次数:132 分类:Git

本文讨论在 Git 中列出冲突文件的最简单和最干净的方法。 我们可以使用 git status 命令,但这很麻烦,尤其是当我们有大量不冲突的文件时。

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便