错误:无法查找视图"index"



我尝试遵循其他各种线程,但没有一个帮助。我正在尝试使用快速应用程序渲染 ejs 文件。但是在侦听端口时,它会显示以下错误。

错误

Error: Failed to lookup view "login"
at Function.app.render (C:UsersdarshDesktopSemester_1SSDISprint 3workspacenode_modulesexpresslibapplication.js:495:17)
at ServerResponse.res.render (C:UsersdarshDesktopSemester_1SSDISprint 3workspacenode_modulesexpresslibresponse.js:756:7)
at C:UsersdarshDesktopSemester_1SSDISprint 3workspaceserver.js:150:13
at callbacks (C:UsersdarshDesktopSemester_1SSDISprint 3workspacenode_modulesexpresslibrouterindex.js:161:37)
at param (C:UsersdarshDesktopSemester_1SSDISprint 3workspacenode_modulesexpresslibrouterindex.js:135:11)
at pass (C:UsersdarshDesktopSemester_1SSDISprint 3workspacenode_modulesexpresslibrouterindex.js:142:5)
at Router._dispatch (C:UsersdarshDesktopSemester_1SSDISprint 3workspacenode_modulesexpresslibrouterindex.js:170:5)
at Object.router (C:UsersdarshDesktopSemester_1SSDISprint 3workspacenode_modulesexpresslibrouterindex.js:33:10)
at next (C:UsersdarshDesktopSemester_1SSDISprint 3workspacenode_modulesexpressnode_modulesconnectlibproto.js:190:15)
at Object.handle (C:UsersdarshDesktopSemester_1SSDISprint 3workspacenode_modulesconnect-flashlibflash.js:21:5)
at next (C:UsersdarshDesktopSemester_1SSDISprint 3workspacenode_modulesexpressnode_modulesconnectlibproto.js:190:15)
at SessionStrategy.strategy.pass (C:UsersdarshDesktopSemester_1SSDISprint 3workspacenode_modulespassportlibmiddlewareauthenticate.js:338:9)
at SessionStrategy.authenticate (C:UsersdarshDesktopSemester_1SSDISprint 3workspacenode_modulespassportlibstrategiessession.js:75:10)
at attempt (C:UsersdarshDesktopSemester_1SSDISprint 3workspacenode_modulespassportlibmiddlewareauthenticate.js:361:16)
at Object.authenticate [as handle] (C:UsersdarshDesktopSemester_1SSDISprint 3workspacenode_modulespassportlibmiddlewareauthenticate.js:362:7)
at next (C:UsersdarshDesktopSemester_1SSDISprint 3workspacenode_modulesexpressnode_modulesconnectlibproto.js:190:15)

我的文件结构

- Workspace
   - client 
      - css
      - js
   - views
      - login.ejs
      - index.ejs
  - server.js

一小段代码:

var express = require('express');
var app = express();
var server = http.createServer(app);
app.set('views', path.resolve(__dirname, '/views'));
app.set('view engine', 'ejs'); // set up ejs for templating
app.listen(8080);
    app.get('/', function(req, res) {
        res.render('login.ejs'); // load the login.ejs file
    });

    app.get('/index', function(req, res) {
      res.render('index.ejs')
    });

希望这能有所帮助。在这里,他们提供了 ejs 文件的完整路径。 https://www.google.co.in/amp/scotch.io/amp/tutorials/use-ejs-to-template-your-node-application

使用 path.join 而不是 path.resolve,因为 path.resolve 将导致/views .

尝试使用 path.join(__dirname + '/views'(。不要忘记输入 const path = require('path'(。

你可以

使用这个。

var express = require('express')
var http = require('http')
var app = express()
var server = http.createServer(app)
app.set('view engine', 'ejs')
app.listen(8080)
app.get('/', (req, res) => {
   res.render('login')
})

最新更新