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

214 阅读1分钟
原文链接: alili.tech

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

Nodejs
  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/')
        }
    
    
                                            
  2. 模板配置

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

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

    
                                                
    // 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;
    
    
                                            

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