执行npm start时未按package.json配置加载aboutus.html问题
问题根因
你搞错了package.json中main字段的作用:这个字段是用来声明npm包作为Node.js模块被引入时的入口文件的,供require()/import语法识别使用,你用的lite-server服务完全不会读取这个字段来决定默认加载的首页。
lite-server的默认行为就是自动匹配项目根目录下的index.html作为站点根路径(/)的默认响应文件,所以你执行npm start后打开index.html是符合工具默认逻辑的,不是配置没生效,是你配错了对应配置项。
解决方案
要让lite-server默认打开aboutus.html,选下面任意一种方式配置即可:
- 方式一:新增独立配置文件
在项目根目录新建bs-config.json配置文件,写入如下内容指定默认首页:
保存后重新执行{ "server": { "index": "aboutus.html" } }npm start就会默认加载目标文件。 - 方式二:直接修改启动脚本传参
直接修改package.json里的lite脚本,通过启动参数指定默认首页,修改后的脚本配置如下:
保存配置后重新执行启动命令即可生效。"scripts": { "start": "npm run lite", "test": "echo \"Error: no test specified\" && exit 1", "lite": "lite-server --index=aboutus.html" }
补充说明:如果不需要改默认配置,服务启动后手动在浏览器地址栏把根路径后拼接
aboutus.html,也能正常访问到目标页面,只是访问根路径时不会自动跳转到这个文件。
内容的提问来源于stack exchange,提问作者adrCoder
相关产品推荐
相关产品推荐

