Node.js+Express+Hbs开发时admin面板路由与静态资源异常求助
问题1:admin面板菜单跳转404解决方法
你当前菜单的href属性使用了根相对路径写法(如href="/add-faq"),或者相对路径配置错误,导致跳转时忽略了/admin前缀。
修改所有admin面板内的跳转链接,两种方案选其一即可:
- 使用带前缀的绝对路径写法:
href="/admin/add-faq" - 使用当前路径下的相对路径写法(不带开头斜杠):
href="add-faq",该写法在当前页面路径为/admin时,会自动拼接为/admin/add-faq
问题2:admin子页面样式加载失败解决方法
你当前样式表的引用路径使用了相对路径写法(如href="css/style.css"),当页面路径为/admin/add-faq时,浏览器会自动将相对路径拼接为/admin/css/style.css,该路径不存在所以返回404。
修改所有模板(含公共layout模板)中的静态资源引用路径,统一添加开头斜杠使用根路径定位:
<!-- 错误写法 --> <link rel="stylesheet" href="css/style.css"> <script src="js/main.js"></script> <!-- 正确写法 --> <link rel="stylesheet" href="/css/style.css"> <script src="/js/main.js"></script>
修改完成后两个问题会同时解决,你当前的路由配置本身没有错误,不需要调整路由代码。
内容的提问来源于stack exchange,提问作者ʙɪᴍᴀʟ ʙᴏʙy
相关产品推荐
相关产品推荐

