簡體   English   中英

在視圖目錄“views”中查找視圖“..”失敗?

[英]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.jsmain.jsserver.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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM