首页 > 解决方案 > 内联外部 HTML 资源

问题描述

我想知道是否有一个现有的(Linux)工具/命令可以通过自动内联第三方资源(JS 和 CSS)来使 HTML 文件更加“独立”。

我正在使用生成 HTML 报告的工具,这些报告包含对第三方 CSS (Bootstrap) 和 JS (jQuery) 的引用。file://由于安全限制,如果通过 访问页面,这些资源将不起作用。它们在从 HTTP 服务器提供服务时工作,但当文件位于机器本地时,这显然不理想。

到目前为止,我已经创建了一个脚本来使用它们内容的数据 URI 来查找/替换这些特定的 URL。这目前有效,但由于所有内容都是硬编码的,因此会带来维护负担。

有没有更可靠/标准的方法来达到类似的效果?我可以想到几种方法来做到这一点:创建数据 URI(如我的脚本),将内容写入样式/脚本元素,或将 URL 替换为本地副本的相对路径。这些中的任何一个都可以。理想情况下,我可以做类似的事情:

$ inlineHtmlResources < existingFile.html > standloneVersion.html

标签: javascripthtmlcsscommand

解决方案


The answer from @WillCain was helpful, but as a plugin for a plugin for a system I've never used (webpack) it seemed a little overkill for me.

I ended up writing a simple Python script to do it instead http://chriswarbo.net/git/html-inliner/git


推荐阅读