#hot-reloading #css #proxy-server #hmr #style-sheet #axum #sass

app coolstyleserver

样式热重载的代理服务器

18个稳定版本

1.6.4 2024年4月23日
1.6.2 2024年3月29日
1.5.1 2023年12月18日
1.5.0 2023年11月29日
1.1.1 2023年7月15日

210Web编程

Download history 133/week @ 2024-04-08 134/week @ 2024-04-22 12/week @ 2024-04-29 77/week @ 2024-07-22

77 每月下载量

MIT 许可证

18KB
302 代码行

酷样式服务器

酷样式服务器(或C.S.S.)是一种在没有使用Parcel或Vite等工具的情况下,为CSS实现热模块替换的方法。比如说,你在一个Java服务器上工作,使用Sass编写CSS。对于样式实现热模块替换会很方便,而不想引入一个主要关注构建单页应用的重量级构建工具。我最初是为我的博客编写的,我的博客是一个Axum应用,在那里我很少使用JS,但我意识到这更加通用。

酷样式服务器的工作方式是,你使用--watch标志告诉它CSS的位置,使用--proxy标志给它提供你的开发服务器的URL。当服务器提供HTML文档时,C.S.S.会重写所有具有rel属性的样式链接,使其成为cool-stylesheet自定义元素,这些元素扩展了HTMLLinkElement(有关详细信息,请参阅自定义内置元素)。当检测到更改时,cool-stylesheets将增强样式表以替换CSS。替换操作无需页面刷新。在支持自定义内置元素和可构建样式表的情况下,此功能才会生效。遗憾的是,不支持包含@import的样式表。

为什么要使用自定义元素呢?主要是为了使此功能适用于链接到其他自定义元素的CSS。如果你动态添加样式链接,你需要确保它们具有is属性设置为cool-stylesheet。你可以通过使用customElements.get("cool-stylesheet")来检查是否应该这样做。

安装和用法

# install with
cargo install coolstyleserver

# then
coolstyleserver --help

依赖项

~17–31MB
~479K SLoC