最初,我的node.js服务器默认转到index.html
。
现在我想默认为login.html
,以便人们可以先登录。
我的代码位于.../server/server.js
,而客户页面位于.../client/login.html
,index.html
等。
现在我将server.js
修改为:
app.get('/', function(req, res)
{
res.sendfile(path.resolve('../client/login.html'));
});
重启server.js后,默认情况下网页仍然指向index.html
。我错过了什么?
答案 0 :(得分:3)
如果您在Nodejs上运行ExpressJS,则可以使用静态方法静态提供文件。第一个参数是目录,第二个参数允许您指定默认文件。
app.use(express.static('../client/', {index: 'login.html'}))
http://expressjs.com/guide/using-middleware.html#middleware.built-in
对于您的具体示例,您可以修改sendFile以包含具有第二个参数的根:
res.status(200).sendFile('login.html', { root: path.join(__dirname, '../client/') });
答案 1 :(得分:1)
如果您还有一个正在为您获取索引页的路由器,并且您想要呈现车把页或执行其他操作,则可以将任何内容放在index选项中,如果在static中找不到该选项,它将忽略它资产文件夹:
app.use(
express.static(
path.resolve(__dirname, "../Client/assets/"),
{index: "userouterinstead"}
)
)
app.use("/", route_configs)
app.get("*", (req, res, next) => {
res.sendFile(
path.resolve( __dirname, "../Client/assets/index.html" )
)
})