已安装http-server,如何启用目录列表而非自动打开index.html?
解决方法:让http-server强制显示目录列表(跳过自动打开index.html)
我之前也遇到过完全一样的问题!核心原因是:即使你开启了-d(目录列表)参数,http-server默认会优先加载index.html这类索引文件——这正是-i(自动索引)参数的作用,它默认是true。所以哪怕你开了目录列表,只要根目录下有index.html,服务器就会先加载它,而不是展示目录结构。
下面是几个简单的解决办法:
办法1:关闭自动索引(最省心的方案)
关掉自动索引功能,让服务器不再寻找索引文件,这样就算存在index.html,也会强制显示目录列表:
http-server -d -i false
-d开启目录列表(因为默认就是true,你也可以省略,但加上更清晰)-i false关闭自动索引,服务器就不会优先加载index.html,转而展示目录
如果想让服务器启动后自动在浏览器打开目录列表,加上-o参数:
http-server -d -i false -o /
办法2:手动访问目录视图
如果你不想关闭自动索引(比如其他场景需要用到index.html),先正常启动服务器:
http-server -d
然后不要让它自动打开index.html,手动在浏览器地址栏输入http://localhost:8080/(如果改了端口就换成你的端口),可以加个不存在的查询参数来绕过自动索引,比如:
http://localhost:8080/?showdir
这样既能看到目录列表,又能保留其他路径的自动索引功能。
办法3:临时重命名/移动index.html
如果只是临时测试,你可以把index.html重命名为index-temp.html或者移到子文件夹里。这样服务器找不到索引文件,就会自动展示目录列表。这是个快速小技巧,但不适合长期测试用。
内容的提问来源于stack exchange,提问作者sitek94
相关产品推荐
相关产品推荐

