这里首页访问是’/posts’,基于koa-nunjucks-next中间件模板,单独的路由文件控制路由,没问题,可以取得静态资源。 当访问’/posts/create’时,就渲染不到了。一看所有的静态资源请求的路径前都添加了‘/posts/’这个路径,导致css,js渲染失败
//设定路由前缀
const router = new koaRouter({
prefix: '/posts'
});
router.get('/create',checkLogin,async (ctx,next) => {
console.log(ctx.url);
await ctx.render('create',{title: 'create'});
});
错误 正常静态文件路径请求
设置静态文件目录(public)
app.use(server(__dirname,'/public'));
想了半天,从没遇到过这种“莫须有”的错误,都不知道客户端哪来的这个请求?怎么做到的。本人菜鸟,望高人指点指点迷津.
把点去掉 变成/css/ 这样子的试试
@jiangli373 666,其实一开始是
href="css/semantic.min.css"
后来我就改成了 ./css/semantic.min.css 发现还不管用,就没往这方向想去了。谢谢!谢谢!谢谢!真的谢谢!
@jiangli373 刚才就在查看chrome console source,发现首页的静态文件是在127.0.0.1:3000下面的文件夹分布的, 单个路径(’/xxx/)也是同样的情况,当访问二级地址(’/xxx/xxxx’)的时候就出现错误了,那时候的静态文件就出现在 127.0.0.1:3000 /xxx 的路径里面了,怪不得会出现那样的情况,‘./‘和’/'就相当于是相对路径和绝对路径的区别,谢谢!
@995270418L 没想到客户端也会出现这种差别