node.js - 将 Node.js 应用程序与前端连接 (index.html)
问题描述
const express = require("express");
require("../db/mongoose");
const Task = require("../model/user");
const app = express();
const port = process.env.PORT || 3000;
app.use(express.json());
app.get("/mytask", (req, res) => {
Task.find({})
.then(tasks => {
res.send(tasks);
})
.catch(e => {});
});
app.post("/mytask", (req, res) => {
const task = new Task(req.body);
console.log(task);
task
.save()
.then(() => {
res.send(task);
})
.catch(e => {
res.status(400).send(e);
});
});
app.listen(port, () => {
console.log("Server started correcly");
});
这是我的 Express 应用程序,它连接到数据库。
localhost:3000/mytask/
{
"name": "Test",
"description": "This is my todo"
}
这工作正常,并使用 Postman 中的 POST 请求将数据正确存储在我的 Mongodb 数据库中。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>Document</title>
</head>
<body>
<h1>Hello Node</h1>
<form action="/mytask" method="POST">
<input type="text" name="task" placeholder="task" />
<input type="text" name="description" placeholder="description" />
<input type="submit" />
</form>
</body>
</html>
现在我想将它连接到我的前端。但是我该怎么做呢?这是我的 html 文件。但是 index.html 不知道节点服务器。我需要做什么?
解决方案
我不建议您使用,res.sendFile
因此它只会发送静态 HTML。您将无法将变量传递给客户端。有更好的解决方案,res.render
但首先您需要配置视图引擎。(这里是ejs解决方案)
const ejs = require('ejs);
app.set('view engine', 'ejs');
app.set('views', __dirname + '/views');
之后:
app.get('/url', (req,res)=>{
res.render('yourejsFile')
})
如果你想在html
扩展名中写入文件,你可以使用
const ejs = require('ejs);
app.engine('html', ejs.renderFile)
app.set('view engine', 'ejs');
app.set('views', __dirname + '/views');
推荐阅读
- javascript - React Native - 随机引用错误(找不到变量)
- flutter - 如何在 iOS 上(在我的 Linux 机器上)运行我的颤振项目?
- react-native - 在 React Native 中,如何在缩放动画视图时调整平移值,以使缩放看起来在任意点都有原点?
- python - 使用熊猫过滤 Excel 列
- php - 转换 json 中的特殊字符串答案或获取数据 PHP 的访问权限
- windows - 使用 WFP 用户模式 API 接收进出流量统计信息
- reactjs - 反应选择示例不显示下拉菜单
- c# - 签署 JSON 有效负载
- javascript - Jquery将数组推送到数组项子项不起作用
- reactjs - React Js 自动完成多选示例