路线正在下载页面而不是显示它

时间:2016-06-28 22:32:14

标签: javascript html express routes

我有一个非常简单的页面使用快递,当我点击我的路线它下载页面而不是显示它。我将从加载正常的索引页面转到faq页面,这是目前为止唯一的其他页面。我正在使用ejs模板,因此导航栏是部分的。这是header.ejs

的链接
<!-- views/partials/header.ejs -->

    

    <ul class="nav navbar-nav">
        <li><a href="/">Home</a></li>
    </ul>
    <div class="collapse navbar-collapse collapse">
    <ul class="nav navbar-nav navbar-right">
        <a class="btn navbutton" >Bio</a></button>
        <a class="btn navbutton" >My Work</a></button>
        <a class="btn navbutton" >Clients</a></button>
        <a class="btn navbutton" href="pages/faq.ejs">FAQ</a></button>
    </ul>
  </div><!-- /.navbar-collapse -->

</div>

这是server.js

var express = require('express');
var app = express();
var flash = require('connect-flash');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var session = require('express-session');

var html = require('html');


// serve static files from public folder
app.use('/',express.static(__dirname + '/public'));
app.use('/',express.static(__dirname + '/views'));

app.set('view engine', 'ejs');

// ROUTES

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

app.get('/faq', function(req,res) {
  res.render('pages/faq');
});

如果有帮助,这是文件结构

-node_modules
-public
  -css
  -images
  -js
-views
  -partials
  -pages
server.js

1 个答案:

答案 0 :(得分:3)

我相信问题在这里:

<a class="btn navbutton" href="pages/faq.ejs">FAQ</a></button>

不应该是:

<a class="btn navbutton" href="faq">FAQ</a></button>

(没有.ejs

修改

你也应该删除这一行:

app.use('/',express.static(__dirname + '/views'));

我相信这是允许下载文件而不是返回404的原因。