关于koa2多层路由中,模板文件无法获取静态文件的问题
发布于 7 年前 作者 LuckLarry 3559 次浏览 来自 问答

os ~ ubuntu koa ~ 2.3.0 koa-router ~ 7.2.1 koa-views 6.0.2,ejs ~ 2.5.7 项目主要结构

Screenshot from 2017-08-16 16-49-07.png 部分路由 router.get('/users/login',async (ctx,next)=>{ await ctx.render('login') }) app.use(views(__dirname + '/views',{ map:{html:'ejs'} })); app.use(koa_static(__dirname + '/public'));

最近研究node ,遇到问题,当使用'/users/login'路径时,会遇到ejs模板中的静态文件路径发生错误的情况, 例如 http://localhost:3000/users/bower_components/responsive-tables/responsive-tables.js 但是使用'/login'路径时静态文件都是可以加载出来的

正确的 Screenshot from 2017-08-16 16-57-58.png 错误的 Screenshot from 2017-08-16 17-01-40.png

http://localhost:3000/bower_components/responsive-tables/responsive-tables.js 这个才是正确的路径,请问,在使用多层嵌套路由时,如何在模板页面正确加载出静态文件

3 回复

跟路由没关系,模板渲染时候路径指定有问题。要么就是你模板路径指定有问题

@DevinXian 一般static都在最上面的,然后是view,然后是路由。。。

谢谢各位,问题已经解决,是相对路径问题

回到顶部