它似乎没有在我的views目录中获取我的index.html文件。我在localhost 3000上收到错误,无法获取

时间:2017-08-29 01:56:12

标签: node.js angular express

您可以在https://github.com/elmoreka/myTaskLIst.git处的github中查看我的文件。

似乎没有在我的views目录中获取我的index.html文件。我在localhost 3000上收到错误,无法获取。

3 个答案:

答案 0 :(得分:0)

index.html未投放,因为res.render()使用的路径不正确。

在您的文件routes/index.js中,渲染路径为:

res.render('views/index.html');

但是,由于视图根定义为myTaskList/views,因此上述代码将尝试查找不存在的文件myTaskList/views/views/index.html。要解决此问题,渲染路径必须为

res.render('index.html');

答案 1 :(得分:0)

根据Expressjs, index.html 是您的正常静态文件,需要从服务器发送并在客户端呈现(浏览器)即可。由于您没有为索引页面使用任何模板引擎(ejs),因此要使用的正确expressjs API是

res.sendFile('index.html');

而不是

res.render('index.html'); // this is not ejs template file

答案 2 :(得分:0)

server.js中,您正在定义"客户"作为您的静态文件夹:

// Set Static folder
app.use(express.static(path.join(__dirname, 'client')));

如果您想提供类似index.html的静态文件,则需要将其移至静态文件夹" client"。然后,您可以使用res.sendFile()将其发送给客户。