[英]Failed to lookup view “..” in views directory “views”?
嗨,這是我的 nodejs 代碼,vs 中的服務器正在工作,但他看不到 hh 文件並在瀏覽器中獲取表單
const express= require('express')
const app = express()
const path = require('path')
const bodyParser = require('body-parser')
const MongoClient = require('mongodb').MongoClient
app.set('view engine', 'ejs')
app.engine('ejs', require('ejs').__express);
app.set('views','views')
app.get('/', (req,res,next)=>{
res.render('../views/hh')
})
app.post('/',(req,res,next)=>{
MongoClient.connect('mongodb://localhost:27017/firstdb',(err,client)=>{
const db = client.db()
db.collection('users').insertOne({
name: req.body.name,
age:+req.body.age
})
client.close()
})
})
app.listen(3000, ()=>{
console.log('hi')
})
更新
默認情況下ejs
模板引擎將查找您的views
目錄。
所以,改變你的代碼:從res.render('../views/hh')
到res.render('hh')
。
完整代碼:
const express= require('express')
const app = express()
const path = require('path')
const bodyParser = require('body-parser')
const MongoClient = require('mongodb').MongoClient
app.set('view engine', 'ejs')
app.get('/', (req,res,next)=>{
res.render('hh')
})
app.post('/',(req,res,next)=>{
MongoClient.connect('mongodb://localhost:27017/firstdb',(err,client)=>{
const db = client.db()
db.collection('users').insertOne({
name: req.body.name,
age:+req.body.age
})
client.close()
})
})
app.listen(3000, ()=>{
console.log('hi')
})
注意:查看示例項目結構。
您的應用程序入口點,即app.js
、 main.js
、 server.js
或您喜歡該文件和視圖文件夾的任何名稱都在同一路徑中?
您的項目結構應該是(根據您最新的項目結構):
test-node-js-app
- node_modules
- views
- hh.ejs
- cr.js
- packages.json
- packages-lock.json
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.