【发布时间】:2017-10-03 17:48:50
【问题描述】:
我有一个使用 React 和 materialize-css 的单页 Web 应用程序,我想将其导出为静态 HTML 和 CSS,以便可以轻松地编辑 HTML 以进行原型设计。是否可以至少导出当前状态的快照?
我在 Firefox 和 Chrome 中尝试了“保存页面”,但效果不佳。
【问题讨论】:
标签: html css reactjs materialize mockups
我有一个使用 React 和 materialize-css 的单页 Web 应用程序,我想将其导出为静态 HTML 和 CSS,以便可以轻松地编辑 HTML 以进行原型设计。是否可以至少导出当前状态的快照?
我在 Firefox 和 Chrome 中尝试了“保存页面”,但效果不佳。
【问题讨论】:
标签: html css reactjs materialize mockups
按照以下步骤操作:-
1.在brouser中,进入开发者工具,
2.选择Inspector(firefox)/Elements(chrome),
3.然后选择标签HTML,右键点击,
4. 然后点击编辑为 HTML。
现在您可以复制所有代码并保存。虽然文档的颜色和形状仍然存在,但您会错过图片。 祝你好运 ! :)
【讨论】:
可能不太理想,但您可以将整个页面存储为变量并下载。页面加载后在浏览器控制台中运行:
var pageHTML = document.documentElement.outerHTML;
var tempEl = document.createElement('a');
tempEl.href = 'data:attachment/text,' + encodeURI(pageHTML);
tempEl.target = '_blank';
tempEl.download = 'thispage.html';
tempEl.click();
【讨论】:
ReactDOMServer 模块包含一个用于将 React 应用程序渲染为静态 HTML 的函数——它是为在服务器上使用而设计的,但我认为没有什么可以阻止你在浏览器中使用它(不要这样做正在生产中!)
import ReactDOMServer from "react-dom/server";
import App from "./yourComponent";
document.body.innerHTML = ReactDOMServer.renderToStaticMarkup(App);
【讨论】:
var pageHTML = window.document.getElementById('divToPDF').innerHTML;
let data = new Blob([pageHTML], {type: 'data:attachment/text,'});
let csvURL = window.URL.createObjectURL(data);
let tempLink = document.createElement('a');
tempLink.href = csvURL;
tempLink.setAttribute('download', 'Graph.html');
tempLink.click();
【讨论】:
您可以构建代码并将其托管在 github.io 上。 following tutorial 将帮助您实现这一目标。然后,您可以将 gh-pages 分支中生成的代码用作导出的 HTML
【讨论】:
我之前做过这个,但被卡住了,似乎无法在任何地方找到文档。我的场景是我有一个 react js SPA,需要创建一个静态构建以在没有服务器的情况下运行(通过使用静态文档存储库的组织 SharePoint)。
最后还是很简单的,运行
npm run build
在您的项目目录中,它将在“构建”文件夹中创建静态构建,以便您在需要的地方转储。 参考:https://create-react-app.dev/docs/production-build/
【讨论】:
npm run build 只会构建普通的 webapp 包,一旦被浏览器加载,它将呈现 HTML。这是动态的,还需要存根 API,以便为应用程序提供数据。这仍然不是我想要的。