【发布时间】:2018-11-04 12:18:31
【问题描述】:
所以我有这个服务于 MySQL 数据库的 node/express api,有这样的 json 输出:
[
{
id: 1,
name: "Laptop Lenovo",
serial: "123-456",
tag: "IT-CL-22052018-001",
image: "/public/images/lenovo.jpg"
},
{
id: 2,
name: "Desktop Dell",
serial: "456-123",
tag: "IT.CD.19052018-002",
image: "public/images/dell.jpg"
},
{
id: 3,
name: "Laptop Dell",
serial: "909090",
tag: "IT.CL.01052018.002",
image: "http://localhost:8000/images/ldell.jpg"
}
]
我尝试了它的每一个表达功能:
app.use(express.static('public'))
app.use('/static', express.static('public'))
var dir = path.join(__dirname, 'public');
app.use(express.static(dir));
我的 React 应用程序可以显示图像的唯一方法是使用数据库上的完整 url,例如 #3。
如何在不使用完整 url 的情况下显示图像?
编辑:添加渲染功能
render() {
return this.state.inventory.map(itemList => {
let item = itemList;
return (
// <div className="tile">
<div className="card margin-all">
<div className="card-content">
<div className="media">
<div>
<figure className="image is-96x96">
<img src={item.image} />
</figure>
</div>
</div>
<div>
<h4>Nama: {item.name} </h4>
<h4>Nomor Seri: {item.serial} </h4>
<h4>ID Tag: {item.tag} </h4>
</div>
</div>
</div>
// </div>
);
})
}
}
【问题讨论】:
-
显示渲染函数
-
添加问题
-
从哪里提供 react(前端)?来自expressjs?如果您正在运行 express 并作为单独的服务器响应,则必须提供完整路径。
-
在端口 8000 上表达并在端口 3000 上做出反应。如果我将两者都部署在自己的服务器上会发生什么?
-
在这种情况下,如何使用来自反应代码的 /public(express server) 相对路径?你应该只使用完整路径。或将您的图像移动到 reactjs 服务器
标签: mysql node.js reactjs express