Express根据

时间:2017-12-06 09:03:40

标签: javascript node.js express routing

我的文件夹结构如下:

-server
--index.js
--core
---controllers
----maincontroller.js
---app.js
---router.js
--public
---views
----pages
-----index.ejs

我有这样的app.js:

const express = require('express')
const path = require('path')
const routes = require('./router')

const app = express()

app.use('/', routes)

app.set('views', path.join(__dirname, '/../public/views'))
app.set('view engine', 'ejs')

module.exports = app

我将'views'文件夹设置为'core'文件夹中的一个文件夹,然后是/ public / views。

然后我通过在服务器文件夹中运行node index.js来启动我的服务器。 index.js文件如下所示:

const app = require('./core/app');
const http = require('http').Server(app)

console.log(app.get('views'));

http.listen(process.env.PORT || 3000, '0.0.0.0', function(){
    console.log('listening on :3000')
})

但是,当我尝试获取index.ejs时,我收到错误:

Error: Failed to lookup view "../views/pages/index.ejs" in views directory "/home/myUser/server/views"

如果我从my / core /文件夹运行node ../index.js,则错误更改为:

Error: Failed to lookup view "../views/pages/index.ejs" in views directory "/home/myUser/server/core/views"

如果我从/ public /文件夹运行相同的命令,它可以工作。是什么给了什么?

我还要补充一点,console.log() index.js会记录正确的文件路径......

0 个答案:

没有答案