问题
我已经成功地提供了我的React应用程序的index.html文件,但是替换html文件中的<root>
的 index.js 却无法在 ReactDOM.render
上触发。我该如何启动 index.js 文件呢? 如果我对提供 React 应用程序的方式有任何误解,我会非常感激您的澄清。
文件结构
- / - 包含所有服务器端文件,包括
server.js
- /client/ - 包含所有React文件
- /client/build/ - 包含所有准备好的生产客户端文件
- /client/build/
index.html
- /client/build/static/js/
main.[hash].js
- 似乎是包含我的React应用程序的ReactDOM.render
的 index.js 的缩小版本。
- /client/build/
当前部署
- 我正在使用Facebook的create-react-app为/client/目录,包括npm run build以自动填充/client/build/
文件片段
// server.js
let app = express();
app.use(express.static(path.join(__dirname, '../client/public')));
这成功加载了由create-react-app提供的默认index.html
// index.html
<body>
<noscript>
You need to enable JavaScript to run this app.
</noscript>
<div id="root"></div>
</body>
上面的代码段可能有用,也可能无用,但它是随 create-react-app 一起提供的默认 html 文件。我需要用引用被压缩过的 index.js
文件的 script 标签来替换 noscript 标签吗?我尝试过这样做,但没有任何变化,也许是因为相对路径设置不正确。