Koa - 错误,找不到文件 - 当 html 和 css 位于不同的文件夹中时



我无法设置简单的Koa服务器,因此它将允许我将index.html和css文件放在不同的文件夹中。另外,作为下一步,我希望在不同的文件夹中拥有许多js文件。我不认识Koa。请好心提供帮助。

我尝试使用挂载,如我可以在自定义(例如/static/(路径上拥有 koa-static 服务资产吗? 但它没有奏效

const path = require('path');
const Koa = require('koa');
const koaStatic = require('koa-static');
const getPort = require('get-port');
async function runServer() {
    const port = await getPort({ port: 3000 });
    const app = new Koa();
    app.use(koaStatic(path.join(__dirname, '..', 'src/static')));
    app.use(koaStatic(path.join(__dirname, '..', 'src/styles')));
    app.listen(port);
    console.log(`server started at http://localhost:${port}/`);
}
runServer().catch(console.error);

我收到以下错误:获取 http://localhost:3000/src/styles/vendor.css net::ERR_ABORTED 404(未找到(

我的文件结构如下:我的项目 ->

src-> components (header.component.js, footer.component.js)
src-> services (service.js)
src-> assets (data.json)
src-> scripts (some-js-files.js)
src-> styles (styles.css)
src-> static (index.html) 

我希望该应用程序可以在 localhost:3000 上运行并识别所有路径

按照您的示例,我创建了一个具有以下结构的虚拟项目。

~/src -
 | - static
 | - styles
     |- index.html
     |- vendor.css
~/server.js

请注意,server.js不在src文件夹中,它们位于同一级别这是调整后的服务器代码,除了部分path.join与您的

相同
const path = require('path');
const Koa = require('koa');
const koaStatic = require('koa-static');
const getPort = require('get-port');
async function runServer() {
  const port = await getPort({ port: 3000 });
  const app = new Koa();
  app.use(koaStatic(path.join(__dirname, 'src/static')));
  app.use(koaStatic(path.join(__dirname, 'src/styles')));
  app.listen(port);
  console.log(`server started at http://localhost:${port}/`);
}
runServer().catch(console.error);

注意到我可以通过键入以下 url 来访问vendor.css

http://localhost:45551/vendor.css

为了使它工作,我调整了这条线

app.use(koaStatic(path.join(__dirname, 'src')));

它公开了所有src文件夹和文件,因此这样我就可以使用以下 url 访问styles/vendor.css文件

http://localhost:33717/styles/vendor.css

相关内容

  • 没有找到相关文章

最新更新