1

我刚刚开始学习 DocFX。根据其官方指南,我们使用类似于的命令构建内容,docfx docfx.json --serve然后查看生成的站点http://localhost:8080。我的问题是:如果 DocFX 是一个静态网站生成器,为什么它通过网络服务器提供内容?为什么它不只是说单击 index.html 来查看生成的站点?有区别吗?

4

1 回答 1

0

DocFX 确实生成静态内容,但是 index.html 主页面将尝试使用来自浏览器的 XMLHttpRequest 加载一些资产,例如目录 (toc.html)。如果您通过从磁盘打开 index.html 页面加载了站点,则此类请求将被浏览器阻止。

如果您尝试,请在 Chrome(或您选择的浏览器)中运行 F12 开发工具,您将看到如下警告:

从源“null”访问“file:///your-path/_site/toc.html”处的 XMLHttpRequest 已被 CORS 策略阻止:跨源请求仅支持协议方案:http、data、chrome-extension、边缘,https。

因此,该站点确实需要通过 HTTP 从 Web 服务器加载以获得最佳结果

于 2020-02-19T15:04:57.087 回答