koa-static serve 的静态文件都是404,大神请帮我看看

查看:871
本文介绍了koa-static serve 的静态文件都是404,大神请帮我看看的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

页面可以正常访问,但是其中的静态资源是404
GET http://localhost:3000/public/bundle.js 404 (Not Found)
目录结构如下:

  • app

    • server.js

  • public

    • bundle.js

以下是server.js

'use strict'
const koa = require('koa')
const render = require('koa-ejs')
const path = require('path')
const logger = require('koa-logger')
const serve = require('koa-static')

let router = require('./routes')

let app = koa()
let port = 3000

render(app, {
    root: path.join(process.cwd(), 'views'),
    layout: 'layout',
    viewExt: 'html',
    cache: false,
    debug: true
})

app.use(serve(__dirname + '/public'))
app.use(logger())

app
  .use(router.routes())
  .use(router.allowedMethods())

views里面的layout.html 如下

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
    <script src="/public/bundle.js"></script>
</head>
<body>
    <h3>koa ejs</h3>
    <%- body %>
</body>
</html>

解决方案

js里改成 app.use(serve(path.join(__dirname, '..', 'public')))
html里改成 <script src="/bundle.js"></script>

这篇关于koa-static serve 的静态文件都是404,大神请帮我看看的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆