添加的构建可以在 CSS 之外创建一个缩小版本,称为tufle.min.css
,它还可以通过 Autoprefixer/PostCSS 自动添加所有需要的供应商前缀。
为了使所有这些工作,我们可以通过两种方式来完成:
创建一个主分支,构建到gh-pages
分支,理想情况下使用 Travis,以便每次更新主分支时都会发生。
创建保存源的src
文件夹和保存构建工件的名为dest
的输出文件夹。 然后只需指向 HTML 中的 dest 版本。 您可能必须安装 npm,然后自己提交构建文件。
我会推荐版本 1,并且我可以使用 PR 设置其中的大部分内容。 但是我们需要一个贡献者/所有者来配置分支。 但这在我看来是最好的解决方案。 让我知道你更喜欢什么。
#119 中的问题将从中受益匪浅。 希望使用此库的人也可以使用优化版本。
这也增加了使用 LESS 或 SCSS 之类的处理器的可能性,但是这可能有点矫枉过正,因为这个项目的规模很小。 所以我真的不会推荐这个。
缩小只会影响tufte.css
,而不影响字体文件,对吗?
我的测试表明这节省了大约 4kb。
这听起来是对的,在我的测试中,我们从12172 bytes
字节到7839 bytes
。 这听起来可能不是很多,但这一切都很重要。 我猜autoprefixer -part 也有助于最小化它并帮助维护它。
现在您定义了许多未使用的供应商前缀,这些仅由非常旧版本的 Google 和 Firefox 使用,因为这些是自行更新的,几乎没有人使用旧版本。 这只是使CSS文件膨胀,而CSS对于页面的渲染非常重要。
字体不受影响, woff2
已经被压缩。 但是,如果它们存在于 Google Font 或其他服务中,您可以通过缓存它们来获得一些好处。 这也将使其他人更容易访问该字体,现在他们需要下载它 - 但该字体可能无法在 CDN(内容交付网络)上使用。
也许最大的好处是将网站的关键 CSS 内联到 html - 这也可以通过构建步骤完成,但不会帮助其他使用这些样式的人。
许多 web 项目现在使用 npm 作为包管理器。 如果您在构建步骤中包含一个 package.json 文件并将该包发布到 npm 注册表,那就太好了。 这将允许轻松安装、导入和升级。
@Saturate我刚刚完全注意到您评论的这一部分:
现在您定义了许多未使用的供应商前缀,这些仅由非常旧版本的 Google 和 Firefox 使用,因为这些是自行更新的,几乎没有人使用旧版本。 这只是使 CSS 文件膨胀
我没有看到 Tufte CSS 在哪里做到这一点。 通过自动前缀运行它只会删除一些background-size
。 你在这里看到更多潜在的删除代码吗?
最有用的评论
许多 web 项目现在使用 npm 作为包管理器。 如果您在构建步骤中包含一个 package.json 文件并将该包发布到 npm 注册表,那就太好了。 这将允许轻松安装、导入和升级。