Node.js:找不到模块“ico”

5

我的网站(运行在express框架上)突然开始抱怨它需要一个favicon。添加了一个favicon.ico后,每次有人尝试查看页面时,现在都会给我显示这个错误。

Error: Cannot find module 'ico'
at Function._resolveFilename (module.js:334:11)
...

既然您已经自己解决了问题,请关闭该问题;例如,添加一个答案并接受该答案。 - Sune Rasmussen
我没有足够的声望...我需要8个小时才能添加一个答案,并在大约24小时后接受它。 - ario
3个回答

6
已解决;我已经解决了。
app.all('/:action', function(req, res){

在我的app.js文件中,它试图将favicon.ico解释为一个页面。

1
我遇到了相同的问题。任何带有句号(包括.ico)的路由都会显示“找不到模块”,因此如果我访问“/index.html”,它会显示“找不到模块.html”。如何调试找出是哪个路由/中间件导致了这个问题? - ThomasReggi

1

你只需要为 '/favico.ico' 添加一个 'GET' 处理程序;

app.get('/favico.ico' , function(req , res){/*code*/});

你可以在那里添加它来消除错误,或者你可以回复一个实际的img uri。

0

提供一些关于错误的更多信息或者代码示例会更有帮助。

为了确保,您需要将.ico所在的路径添加到express的静态路由中,如下所示:

app.use("/mypathwhereicolies", express.static(__dirname+'/mypathwhereicolies'));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接