CNode

关于koa2多层路由中,模板文件无法获取静态文件的问题

问答
LLuckLarry发布于9 年前最后回复9 年前3 回复4184 浏览0 收藏

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)

D
DevinXian#1·9 年前

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

I
i5ting#2·9 年前
引用 DevinXian跟路由没关系,模板渲染时候路径指定有问题。要么就是你模板路径指定有问题

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

L
LuckLarry#3·9 年前

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

参与回复
登录后即可参与回复。登录