我只能在 Nodejs 服务器上运行任何 ReactApp,但不能在 Tomcat 服务器上运行。
一些问题:
React 是纯粹的客户端渲染库,为什么它需要 Nodejs(基于服务器)?为什么React官方图推荐Nodejs?
Tomcat是跑纯Java应用的,Nodejs是跑纯JavaScript应用的吗?
我尝试通过包含 Reactjs 包含文件在 Apache Tomcat 中运行一个带有几个容器的示例 ReactApplication。但是,我得到一个空白屏幕。检查元素显示非渲染的 JS 源。
更新 1:
如果 Q1 是,则 Here's一个简单的 React 就绪应用程序(包括所有依赖项),可以使用 NPM 在 Nodejs 中轻松运行。如何在 Tomcat 中运行相同的应用程序?我可以使用它创建 Web ARchive 吗?
最佳答案
1.React 是纯粹的客户端渲染库,为什么它需要 Nodejs(基于服务器)?为什么 React 官方图推荐 Nodejs?
React 是一个客户端库,但它需要 NodeJs,原因如下:
- React 使用浏览器不理解的 JSX 语法,因此它需要转换成浏览器可以理解的 javascript 代码,Babel 会做到这一点。 Babel 需要 NodeJs,通过配置你可以将 JSX、ES6 代码转换成浏览器可以理解的 ES 5
- 如果您在服务器端使用 React,您可能还需要 Node js 服务器,但这是可选的
您提供的示例需要使用使用 Babel 的 web-pack 转译成 ES 5 代码。 WebPack 和 Babel 都需要 node js。因此,您需要 NodeJ。
关于javascript - 如何在 Apache Tomcat 中运行 React 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37917134/