javascript - 如何创建与 express 或 http 反应的服务器?
问题描述
我正在使用 react js 构建一个 web 应用程序我想在我的项目中为客户端创建一个服务器所以我使用 express 或 http 我尝试了这段代码
import React from "react";
var express = require("express"); // I also used with import
const app = express();
class App extends React.Component {
componentDidMount(){
app.get("/", (req,res)=>{
res.end("hello world");
}).listen(8000, ()=>{
alert("server started")
});
}
render(){
return (
<div className="App">
{/*....*/}
</div>
);
}
}
export default App;
但它抛出一个错误
然后我尝试了http
import React from "react";
var http = require("http");
class App extends React.Component {
componentDidMount(){
http.createServer((req,res)=>{
res.end("hello world");
}).listen(8000, ()=>{
alert("server started")
});
}
render(){
return (
<div className="App">
{/*....*/}
</div>
);
}
}
export default App;
它也抛出一个错误我该怎么办?怎么做?
解决方案
你正在尝试的事情是不可能的。React 是一个基于客户端的框架,它依赖于浏览器 DOM,而 Express 和 HTTP 服务器是 Node.js 库。它们需要 Node 运行时才能运行,这通常不能由 React 或基于客户端的 javascript 提供。
如果你想在 Express 中托管一个 React 应用程序,你需要首先在 Node.js 服务器上运行 Express。看看@shai_sharakanski 对此的回答。
推荐阅读
- routes - 将 MapBox 地理位置坐标输入变量
- asp.net - ASP.NET MVC 动态放置 AllowAnonymous 属性
- python - “更改颜色”按钮 Python Kivy
- email - 带有个性化主题的电子邮件退回跟踪?
- angular5 - 使用chartsJs时如何避免不可扩展对象上的TypeError
- python - 返回嵌套字典中某个键的值并形成层次字典
- php - php - for 循环仅从 mysql 结果中获取第一个值
- java - 无法在测试中通信 MultiPart/数据(Jersey/Junit)
- java - 为什么 File::isDirectory 可以作为 FileFilter 正常工作?
- hibernate - 如何覆盖多对多依赖的休眠查询