List
我正在获取两者的输出,但没有获得该 app.get('/',function(req,res,next){
app.use(express.static(html file);
next();
});
app.get('/:someText',function(req,res){
var x = req.params.someText;
res.send(x);
});
文件的CSS。
答案 0 :(得分:2)
正如我从代码中看到的那样,你错过了发送get /。
app.get('/',function(req,res,next){
//something
//in here add res.send() and all OK.
});
选中此项以了解下一步是什么。
答案 1 :(得分:0)
您使用express.static
的方式不对。你不应该传递一个文件来返回,即sendFile
。 express.static
用于提供整个目录,应该在get
处理程序之外调用。
例如,这会在URL的根目录中提供名为public
的目录。对未找到的文件的任何请求都将通过中间件/路由器链传递给下一个处理程序:
app.use(express.static(path.join(__dirname, 'public')));
重要的是,这应该在您致电app.get
,app.post
等之前出现,而不是在处理程序内。
因此,如果您在public/myfile.html
处有一个文件,该文件将在http://localhost:3000/myfile.html
处提供,我认为您的服务器位于localhost:3000
。如果您想为网址添加额外的路径部分,例如http://localhost:3000/stat/myfile.html
那将是:
app.use('/stat', express.static(path.join(__dirname, 'public')));
如果您想提供单个文件,那么您可以使用sendFile
,有点像这样:
app.get('/myfile.html', function(req, res) {
res.sendFile(path.join(__dirname, '/myfile.html'));
});
请注意,这会挑出特定文件,因此需要单独处理CSS等资源。如果HTML,CSS等都在同一个文件夹中,那么使用express.static
代替整个目录是有意义的。
值得注意的是,express.static
有一个名为index
的设置,如果有'/'请求,则默认提供名为index.html
的文件。}
进一步阅读: