Egg.js 如何支持单页面应用

  1. 在config/plugin.js 启用ejs //其他的模板引擎也行
exports.ejs = {
  enable: true,
  package: 'egg-view-ejs',
};
  1. 配置静态目录
//config/config.{env}.js

    config.static = {
      prefix: '/',
      dir: path.join(appInfo.baseDir, 'app/view/')
    }
  1. 模板配置
//config/config.{env}.js

 config.view = {
      defaultExt: '.html',
      mapping: {
        '.ejs': 'ejs',
        '.html': 'ejs',
      }
    }
  1. 配置根目录路由映射
// app/router.js

module.exports = app => {
  app.router.get('/', app.controller.home.index);
}
  1. 配置路由相应的控制器
// app/controller/home.js

const { Controller } = require('egg');
class HomeController extends Controller {
  async index() {
    const { ctx } = this;
    // render index.html
    await ctx.render('index');
  }
}
module.exports = HomeController;

完成以上配置,便可以与单页面应用作结合了

Article Link:

https://alili.tech/archive/524de824/

# Latest Articles