vue怎么配合express制作多页面应用
发布于 6 年前 作者 radicalviva 14287 次浏览 来自 问答

我现在使用vue-cli初始化项目后,假如使用express作为后台框架 假如使用ejs,jade…其中一个作为模板引擎,那么还能使用webpack来打包吗,各种引用子组件(.vue)什么的? 如果不能的话,那就只能使用原生html了吧?但是我现在webpack启动了一个8080端口的本地服务器,express启动了一个3000端口的本地服务器,那么是不是只能在 express 内通过get返回res.sendFile()来读取html了呢? 因为可能会有很多板块,不想使用前台路由vue-router, 初学 不懂啊= =

20 回复

不懂就慢慢学呗 一口吃不成大胖子

@Alexis374 对啊。。 所以 现在我想 搞清楚这些问题。。 现在我是可以直接在前台发起请求,用 res.send(‘xxx’, yyy)来渲染我的页面

那你就只有<script src=“vue.js”></script> 这样面你的 ejs 模块中引入VUE了,不用webpack

模板引擎跟前端用啥框架没啥影响的。vue+webpack+jade or ejs多页面应用是可以的。

@pauky 有什么教程资料介绍这个的吗。。

@44886 不用webpakc打包,不能识别.vue组件啊?

前端是前端,后端是后端,一般用Vue后端就只是提供接口了。不过Vue2.0也提供了服务端渲染。

@airyland 如果后端只提供接口,那么路由也都是要由vue—router来完成咯?

@IchiNiNiIchi 但是我想用ejs作为模板,不知道怎么用webpack来打包ejs,因为在ejs中插入vue的组件<app></app>这样,webpack可以实现吗?

<app></app>应该是vue调用组件的,用ejs模板的时候,只能写html,别弄混了喔!

@pauky 对啊,这样一来不就不可以将vue的组件的写在html内了吗?

@radicalviva 我也是初学,这几天本来打算用 vue 写练手网站的管理后台, 发现要用 vue 的话最好还是前后端分离,也就是楼上说的后端只提供接口。如果你是想练手的话,可以看看 github 上面 vue 自己带的例子。如果是想用在自己的项目的话,你的 express 后端得重新写一套接口。

你可以试试,因为vue是在前端运行的,ejs是在后端转成html,所以两者不会有影响。你在ejs里写<app></app>到了前端一样可以被vue识别。

@IchiNiNiIchi 可不可以这样理解,后端只提供接口的话,那么路由就是由vue-router完成是吧,页面就是纯html,而不用任何模板引擎?

@pauky 哦 那我去看下有没有什么相关资料,主要还是靠 webpack 的配置来打包 是吧?

每个页面入口的html文件由ejs返回,页面的组件用vue来写,webpack根据每个页面的js文件来分别打包。大概是这样结合的,可以自己动手实践一下。

@pauky 真的难写啊。。 不会webpack来配置= =

@radicalviva 楼主是打算用 express 做网站还是前端想学习 vue? 如果只是做网站的话没必要为了 vue 而 vue,你现在会有疑问其实是你还没必要用到 vue 的功能,普通的 jQuery + ajax 已经够用了。如果是想学习 vue, 那么 vue 官网的 guide 值得看一遍,还有 webpack 也得学一下,然后你就可以直接去看别人写的范例了,https://github.com/vuejs/vue-hackernews/ 就很不错。

既然用了webpack,不如用vue-router搭建单页应用,实现前后端分离化。 webpack打包生成的文件是前端层面的,而ejs,jade之流的模板引擎一般是用作后端层面的。 前者打包之后生成的是静态文件,页面渲染也是前端层面渲染的数据,只有在发起ajax请求的时候渲染数据。 而后者则是后端动态渲染,即每次请求页面的时候,数据渲染完毕再返回。

回到顶部