关于eggjs与vue前后端分离的问题。

前端用的vue 后端api用的eggjs 该怎样部署呢 打包后的vue项目 放在egg的哪个文件夹呀 怎样配置呢 求大家指点

阅读 9.5k
5 个回答

你都说了分离了

  1. eggjs 单独放在一个文件夹里面一般命名为server
  2. 打包生成后生成的静态页面单独放一个文件夹可以命名为view

静态文件利用nginx反向代理,启动egg.js服务即可

希望能帮助到您,推荐我Y腿的教程http://yitianyibu.com/p/58df3... 欢迎关注我的公众号:前端指南

假如你项目叫test,域名叫www.test.com
创建一个test目录,配好nginx,vue的文件放这里面就可以了,eggjs的东西在test里面新建一个server或者backend的目录放里面。

放在 ‘app/public/** 用于放置静态资源,可选,具体参见内置插件 egg-static。’

router.get("*", noCache(), controller.Home.Index);

/**
 * Home Service
 */
public async Index() {
  const url = "http://cdn.server.host/mysite/index.html";
  const result = await this.ctx.curl(url);
  return result.data;
  // or
  const tpl = path.join(this.config.static.dir, "index.html");
  return await fs.readFile(tpl, "utf-8");
}
https://github.com/eggjs/egg/...
新手上路,请多包涵

这有啥好纠结的,你都说了前后端分离了,可以分成完全独立的两个项目,eggjs提供api的同时提供一个url入口,这个url入口文件就是你vue项目构建后的index.html, 部署的时候,nginx指向vue项目,搞定收功

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题