我无法设置简单的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