以下代码仍然提供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文件。
任何建议都将不胜感激!
答案 0 :(得分:2)
请注意,默认情况下,EJS会查看“视图”文件夹
=> app.set('views',path.join(__ dirname,'views'));
由于您已指定文件路径将其视为视图,请将其更改为公开文件夹,该文件夹将启动并运行。