我是Parse的新手,我正在尝试将我的应用部署到example.com
。
我希望example.com
提供静态目标网页,但example.com/anything
(当然,anything
不是文字,可以是任何内容)由另一个控制器处理。< / p>
更清楚地说明:
场景1:用户在其网络浏览器中输入www.example.com
。
输出:我的静态目标网页,例如index.html
场景2:用户在其网络浏览器中输入www.example.com/ausername
。
输出:呈现ejs
页面服务器端的结果。
如何以非常简单的方式实现这一目标?我试过了:
app.get('/:username', function(req, res){
res.render("user", { username: req.params.username });
});
这适用于example.com/ausername
但是当我输入example.com
时,请求会再次由上述方法呈现,从而产生错误。
答案 0 :(得分:1)
您可以将静态index.html放在项目根目录的“公共”文件夹中,并使用express.static()
中间件来提供该静态页面。
// Serve the static landing page at the root
// e.g. public/index.html => http://www.example.com/
app.use(express.static(__dirname + '/public'));
// Serve the route
// e.g. http://www.example.com/test123
app.get('/:username', function(req, res){
res.render("user", { username: req.params.username });
});
这将允许用户访问根目录下的静态页面,并在提供值时访问您的路由。有关详细信息,请参阅Express middleware documentation。