Javascript 使用sendFile()方法为node.js中的两个路由提供静态文件时,为什么会出现错误
我尝试发送两个路由“/”和“/test”的静态html文件。 它正在为“/”路由工作,但不是“/test”/ 我遇到以下错误:Javascript 使用sendFile()方法为node.js中的两个路由提供静态文件时,为什么会出现错误,javascript,node.js,express,Javascript,Node.js,Express,我尝试发送两个路由“/”和“/test”的静态html文件。 它正在为“/”路由工作,但不是“/test”/ 我遇到以下错误: TypeError: path must be absolute or specify root to res.sendFile at ServerResponse.sendFile (E:\sairam\javascript\node\Node middleware\node_modules\express\lib\response.js:421:11)
TypeError: path must be absolute or specify root to res.sendFile
at ServerResponse.sendFile (E:\sairam\javascript\node\Node middleware\node_modules\express\lib\response.js:421:11)
at E:\sairam\javascript\node\Node middleware\index.js:11:9
at Layer.handle [as handle_request] (E:\sairam\javascript\node\Node middleware\node_modules\express\lib\router\layer.js:95:5)
at next (E:\sairam\javascript\node\Node middleware\node_modules\express\lib\router\route.js:137:13)
at Route.dispatch (E:\sairam\javascript\node\Node middleware\node_modules\express\lib\router\route.js:112:3)
at Layer.handle [as handle_request] (E:\sairam\javascript\node\Node middleware\node_modules\express\lib\router\layer.js:95:5)
at E:\sairam\javascript\node\Node middleware\node_modules\express\lib\router\index.js:281:22
at Function.process_params (E:\sairam\javascript\node\Node middleware\node_modules\express\lib\router\index.js:335:12)
at next (E:\sairam\javascript\node\Node middleware\node_modules\express\lib\router\index.js:275:10)
at SendStream.error (E:\sairam\javascript\node\Node middleware\node_modules\serve-static\index.js:121:7)
这是我的app.js
index.html文件位于公用文件夹中。。这是用作静态容器的am。如果要使用的相对路径,则需要指定root选项。使用以下代码提供
index.html
,假设它与节点应用程序源位于同一目录中
您可以使用获取当前目录
app.get('/',函数(req,res){
res.sendFile('index.html',{root:uu dirname});
})
app.get('/test',函数(req,res){
res.sendFile('index.html',{root:uu dirname});
})
也请参考
(感谢Saurabh Mistry提供参考)请尝试以下方法:
app.get(['/','test'], function(req,res){
res.sendFile(__dirname + '/public/'+ 'index.html');
});
可能重复的
app.get(['/','test'], function(req,res){
res.sendFile(__dirname + '/public/'+ 'index.html');
});