合并 HTML, CSS, JS 和 Assets 到一个文件

Merge HTML, CSS, JS and Assets to one file

我目前正在做一个小实验。

它是关于用 C# 编写某种 "emulator",可以 运行 一些 "ROMs" 在 HTML 中编程(CSS,JS, .. ).

为了构建 ROM,我编写了一些 "compiler",它使用我的基于 JS 的游戏引擎和它的编辑器将游戏/应用程序打包到一个文件中("ROM")这基本上只是一个加密的(或普通的)JSON 文件,其中包含完整的 HTML 代码(在其属性之一中),除了直接写入其中的链接文件。


<script src="./script/main.js"></script>

会变成:

<script> ...code... </script>

与CSS相同。


图片会转成Base64字符串

<img src="http://www.img.com/img.png"/>

变成

<img src="data:image/png;base64, R0lGODlhmwD....."/>

我的问题是,要将字体文件包含到 CSS 或 HTML 文件中。

所以也许是这样的

@font-face {
  font-family: 'Open Sans';
  src: local('Open Sans'), local('OpenSans'), url(http://fonts.gstatic.com/s/opensans/v10/K88pR3goAWT7BTt32Z01m1tXRa8TVwTICgirnJhmVJw.woff2) format('woff2');
}

变成

@font-face {
  font-family: 'Open Sans';
  src: local('Open Sans'), local('OpenSans'), url( ...magic... ) format('woff2');
}

有人知道这是否可行吗?如果可行,我该如何实现该功能?

感谢您的建议。

这应该有效:

@font-face{
 font-family: 'Open Sans';
 src: url(data:font/ttf;base64,AAEA… ) format('truetype');
}

在此处找到:http://blog.patdavid.net/2012/08/embedding-fonts-with-css-and-base64.html