NodeJS - 尝试呈现index.ejs文件,但仍然只是我公共文件夹中的服务器index.html

时间:2017-09-28 21:42:47

标签: javascript node.js express ejs

以下代码仍然提供index.html文件夹中的public页面,但我想呈现index.ejs。我按照视频示例进行操作,因此我不确定为什么他能够呈现ejs文件,而我仍然只看到index.html文件。

我使用的视频示例似乎是相同的。我的package.json文件有"main": "app.js"

以下是视频示例链接,以及以下代码: https://youtu.be/gnsO8-xJ8rs?t=28m12s

//View Engine
app.set('view engine', 'ejs');
app.set('views', path.join(__dirname, 'views'));

//Body Parser Middleware
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({extended : false}));

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

//Routes
app.get('/', (req, res) => {//homepage represented by the single slash
  res.render('index');
});

app.listen(3000, () => {
  console.log('server started on port 3000...');
});

我注意到如果我发表评论

//Routes
app.get('/', (req, res) => {//homepage represented by the single slash
  res.render('index');
});

然后渲染并提供ejs文件。

任何建议都将不胜感激!

1 个答案:

答案 0 :(得分:2)

请注意,默认情况下,EJS会查看“视图”文件夹

=> app.set('views',path.join(__ dirname,'views'));

由于您已指定文件路径将其视为视图,请将其更改为公开文件夹,该文件夹将启动并运行。