项目目录
views/index.ejs
这样直接访问静态资源是访问不到的:
安装中间件koa-static
npm install koa-static
使用
const Koa = require('koa');
const views = require("koa-views");
const router = require("koa-router")(); // 引入和实例化路由 推荐
const koaStatic = require("koa-static")
const app = new Koa();
// 配置静态资源中间件 可以设置多个。中间件内部做了处理如果在该文件找不到资源,会继续往下处理
app.use(koaStatic("./static"))
// app.use(koaStatic(__dirname + "/public")) // __dirname:当前目录
// 配置第三方中间件
// app.use(views("views", {map: {html: 'ejs'}})); // views 第一个参数:静态页面的路径 第二个参数配置对象 这样配置 模板文件必须要.html结尾
app.use(views("views", {extension: 'ejs'})) // 两种配置方法一样 模板文件的后缀名:.ejs
// 配置路由
router.get('/', async(ctx)=>{
const pageData = {
title: '标题',
list: [1,2,3,4]
}
await ctx.render("index", pageData)// 此处要添加await 因为render 是异步
});
// 启动路由
app.use(router.routes()); // 启动路由 可以链式调用
app.use(router.allowedMethods()); // 可配磕不配
app.listen(8081);