Use special type for HTML
This commit is contained in:
parent
4605425fd8
commit
7e85e1de5b
modules
|
@ -4,6 +4,7 @@ const semver = require("semver");
|
|||
|
||||
const MainPage = require("../client/MainPage");
|
||||
const AutoIndexApp = require("../client/autoIndex/App");
|
||||
const createHTML = require("../client/utils/createHTML");
|
||||
const renderPage = require("../utils/renderPage");
|
||||
|
||||
const globalScripts =
|
||||
|
@ -33,8 +34,8 @@ function serveAutoIndexPage(req, res) {
|
|||
entry: req.entry,
|
||||
entries: req.entries
|
||||
};
|
||||
const content = ReactDOMServer.renderToString(
|
||||
React.createElement(AutoIndexApp, props)
|
||||
const content = createHTML(
|
||||
ReactDOMServer.renderToString(React.createElement(AutoIndexApp, props))
|
||||
);
|
||||
|
||||
const html = renderPage(MainPage, {
|
||||
|
|
|
@ -14,7 +14,7 @@ const globalScripts =
|
|||
"/react-router-dom@4.3.1/umd/react-router-dom.js"
|
||||
];
|
||||
|
||||
function serveMainPage(req, res) {
|
||||
function serveRootPage(req, res) {
|
||||
const scripts = globalScripts.concat(req.assets.getScripts("main"));
|
||||
const styles = req.assets.getStyles("main");
|
||||
|
||||
|
@ -26,4 +26,4 @@ function serveMainPage(req, res) {
|
|||
res.send(html);
|
||||
}
|
||||
|
||||
module.exports = serveMainPage;
|
||||
module.exports = serveRootPage;
|
|
@ -1,7 +1,7 @@
|
|||
const React = require("react");
|
||||
const PropTypes = require("prop-types");
|
||||
|
||||
const h = require("./utils/createHTML");
|
||||
const createHTML = require("./utils/createHTML");
|
||||
const x = require("./utils/execScript");
|
||||
|
||||
function MainPage({ title, description, scripts, styles, data, content }) {
|
||||
|
@ -28,20 +28,24 @@ function MainPage({ title, description, scripts, styles, data, content }) {
|
|||
<title>{title}</title>
|
||||
</head>
|
||||
<body>
|
||||
<div id="root" dangerouslySetInnerHTML={h(content)} />
|
||||
<div id="root" dangerouslySetInnerHTML={content} />
|
||||
{scripts.map(s => <script key={s} src={s} />)}
|
||||
</body>
|
||||
</html>
|
||||
);
|
||||
}
|
||||
|
||||
const htmlType = PropTypes.shape({
|
||||
__html: PropTypes.string
|
||||
});
|
||||
|
||||
MainPage.propTypes = {
|
||||
title: PropTypes.string,
|
||||
description: PropTypes.string,
|
||||
scripts: PropTypes.arrayOf(PropTypes.string),
|
||||
styles: PropTypes.arrayOf(PropTypes.string),
|
||||
data: PropTypes.any,
|
||||
content: PropTypes.string
|
||||
content: htmlType
|
||||
};
|
||||
|
||||
MainPage.defaultProps = {
|
||||
|
@ -50,7 +54,7 @@ MainPage.defaultProps = {
|
|||
scripts: [],
|
||||
styles: [],
|
||||
data: {},
|
||||
content: ""
|
||||
content: createHTML("")
|
||||
};
|
||||
|
||||
module.exports = MainPage;
|
||||
|
|
|
@ -11,7 +11,7 @@ function route(setup) {
|
|||
function createRouter() {
|
||||
const app = express.Router();
|
||||
|
||||
app.get("/", require("./actions/serveMainPage"));
|
||||
app.get("/", require("./actions/serveRootPage"));
|
||||
|
||||
app.use(cors());
|
||||
app.use(bodyParser.json());
|
||||
|
|
Loading…
Reference in New Issue