我是 node js 的新手,我有 index.html 和 app.js
我的索引.html
<!DOCTYPE html>
<html>
<!-- \\ Bootstrap CDN -->
<link href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js" integrity="sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg OMhuP IlRH9sENBO0LRn5q 8nbTov4 1p" crossorigin="anonymous"></script>
<body>
<style>
.input-group{
padding: 30px;
}
#button{
margin-left: 30px;
}
</style>
<form action="/users" method="get" >
<div class="input-group">
<span class="input-group-text">First and last name</span>
<input type="text" name="name" class="form-control">
<input type="text" aria-label="Last_name" class="form-control">
<input type="submit" class="btn btn-primary" id="button">
</div>
</form>
</body>
</html>
我的 app.js
//For users page route
const express = require('express')
const app = express()
app.get('/users',(req,res)=>{
res.send("data page")
console.log("data page")
})
// FOR THE HTML PAGE
const http = require('http')
const fs = require('fs')
const server = http.createServer((req, res) => {
res.writeHead(200, { 'content-type': 'text/html' })
fs.createReadStream('index.html').pipe(res)
})
server.listen(process.env.PORT || 3000)
當我運行 app.js 檔案時,當我單擊 index.html 中的提交按鈕時,它沒有記錄“資料頁面”,需要幫助,我不確定是否正確路由它。
uj5u.com熱心網友回復:
沒有必要在 express 中使用 HTTP 模塊,而且你還沒有啟動你的 express 應用程式。
如果要在快遞中發送 HTML 檔案(假設 HTML 檔案在同一目錄中)。
const express = require('express')
const app = express()
app.get('/',(req,res)=>{
res.sendFile('index.html',{root: __dirname });
});
app.get('/users',(req,res)=>{
res.send("data page")
console.log("data page")
})
app.listen(process.env.PORT || 3000);
如果你想使用流,你可以按照Rahul 的回答
如果你仍然想在 express 中使用 HTTP 模塊,你可以閱讀這篇文章。為什么將 http 模塊與 express 模塊結合使用
uj5u.com熱心網友回復:
將您的 app.js 代碼更改為
const fs = require('fs')
const express = require('express')
const app = express()
app.get('/', (req, res) => {
// for html page
res.writeHead(200, { 'content-type': 'text/html' })
fs.createReadStream('index.html').pipe(res)
})
app.get('/users', (req, res) => {
res.send("data page")
console.log("data page")
})
app.listen(process.env.PORT || 3000)
在您當前的 app.js 檔案中存在路由問題,因為所有路由都將呈現 index.html 頁面
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/336047.html
標籤:javascript html 节点.js 表达
上一篇:無法在快速后端接收授權標頭?
下一篇:fetch和post的關系
