如果这个问题在其他地方回答,我很抱歉。
我想在url包含参数时发送静态html文件。
例如,http://localhost:3000/detail.html/1,但路径类型搞砸了。
这是我的问题,
我使用了app.use(express.static(path.join(__ dirname,'public')));对于没有参数的所有静态文件请求,
对于此http://localhost:3000/detail.html/:id请求,我使用了
app.get('/detail.html/:id', function(req, res){
var options = {
root: __dirname + '/public/'
};
res.sendFile( 'detail.html',options);
});
我可以在浏览器中获取detail.html页面,但是我在detail.html中的所有css链接和图像src都是相对的,请求变成这样:/detail.html/css/custom.css而不是 只是/css/custom.css。
我的文件结构是所有html文件都在公共文件夹中,而css文件在public / css文件夹中。
我哪里错了? 怎么解决这个问题呢? 谢谢!
答案 0 :(得分:0)
您可以将detail.html
重命名为index.html
,并在您的快递代码中添加路线,
app.get('/', function (req, res) {
res.sendfile('__dirname + '/public/' + index.html);
})
然后,您将不会在您的网址中使用html静态文件,而且事情会有效