【发布时间】:2021-11-27 11:30:27
【问题描述】:
我正在使用 ReactJS CDN 构建 Web 应用程序。我正在考虑将其托管在充当 Web 服务器的 qliksense 服务器中。代码运行良好,没有任何问题,用户可以通过 URL 访问应用程序。
在投入生产之前,我有几个问题。
- 我想知道这样做的缺点。
- 我应该考虑哪些因素?
- 如何缩小代码?
下面是我的代码的概要结构。
index.html
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>App</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/icon?family=Material+Icons"/>
<script crossorigin src="https://unpkg.com/react@17/umd/react.production.min.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@17/umd/react-dom.production.min.js">
</script>
<script crossorigin src="https://unpkg.com/@mui/material@5.0.2/umd/material-ui.production.min.js"></script>
<script src="https://unpkg.com/@babel/standalone@7.15.7/babel.min.js"></script>
<script type="text/babel" src="AppPage.js"></script>
<script type="text/babel" src="App.js"></script>
<link id="u-theme-google-font" rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,100i,300,300i,400,400i,500,500i,700,700i,900,900i|Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i">
<link id="u-page-google-font" rel="stylesheet" href="https://fonts.googleapis.com/css?family=Open+Sans:300,300i,400,400i,600,600i,700,700i,800,800i">
</head>
<body>
<div id="root"></div>
<script type="text/babel">
ReactDOM.render(
<App/>,
document.getElementById('root')
);
</script>
</body>
</html>
App.js
function App(){
const [state, setState] = React.useState(false);
React.useEffect(()=> {
//Do Something
//setState(object)
},[])
return (
<div id="appcontainer">
{state.errorMessage !== null ?
<div>
<h6>{state.errorMessage}</h6>
<h6>Refresh page or Contact support </h6>
</div>
: state.app ?
<Box> <AppPage/> </Box> : null}
</div>
)
}
AppPage.js
function AppPage(){
return (
<h1>hello</h1>
)
}
【问题讨论】: