Vue SPA + Nodejs项目实战

Vue SPA + Nodejs项目实战

文章链接:http://blog.csdn.net/i348018533/article/details/73605176

本文主要阐述的是使用了vue spa单页应用的后台管理系统配合nodejs接口代理,并使用webpack打包编译的项目架构分享。
面向对象是有一定前端开发基础对vue nodejs webpack有一定认识的开发。

Vue简介

介绍

  • 自底向上增量开发的设计,易上手同时便于与其他现有系统整合
  • 组件化应用构建
  • 同样丰富的生态也可以实现复杂应用程序
  • 数据驱动视图

我觉得以上四点就可以概括的介绍vue的定义,因为Vue 的核心库只关注视图层所以在任何现有项目中你可以非常方便的以引入的形式把vue添加进来,不会对现有系统造成任何的侵入,同时因为vue也拥有非常丰富的生态环境(vue-router、vuex、weex、ssr)所以使用vue也可以搭建中大型的系统。

vue 2的一些重大改进

  • Virtual-DOM
  • 兼容的Templates, JSX
  • SSR

这里需要提及的是SSR,目前SSR官方文件只有英文版本,官方推荐的是使用 NUXT框架即可轻松实现SSR。

如果想要自己实现SSR的话也不复杂,主要的难点在于如何编写一套既可在在客户端运行又可以在服务端运行的通用代码,比如在代码中使用window.location、document.getxxx等等这些对象只存在于浏览器环境中服务端nodejs是不存在的,并且服务端代码中vue实例化后是不能渲染的,服务端只是通过虚拟dom解析为html文本的,所以在服务端也不能和客户端一样实例化后就挂载到dom上去。

解决的方法就是在webpack中定义两套入口文件,只能在客户端运行的代码在客户端入口中加载,服务端入口也是独立的,然后通过vue官方提供的VueSSRServerPlugin和VueSSRClientPlugin两个webpack插件把两份代码打包为bundle包。

关于SSR的性能的vue的状态管理不是immutabled的,另外因为虚拟dom到html的编译过程导致ssr的性能一直无法提升上来,但是也可以通过一些缓存的策略弥补,如果对于首屏时间要求苛刻的项目可能暂时无法接受。


vue的更多信息请访问: https://cn.vuejs.org


项目结构

后端

这里写图片描述

后端的结构非常轻量因为它的主要作用就是充当一个接口代理和权限验证的作用,所以通过几个简单的中间件来处理即可:

请求->before: 处理用户请求的数据做数据整合
before->controllers: 一些登录和非业务逻辑操作
controllers->auth: 在调用后端接口之前的鉴权逻辑
auth->proxy: 鉴权通过则允许调用后端接口通过request的pipe直接把后端返回流返回到前端
catch: 捕获错误

前端

这里写图片描述

这也是一张非常典型的vue spa架构的结构图,使用vue-router来处理路由,axios来处理异步数据请求,同时项目使用iview作为ui框架(吐槽:目前iview仍是2.x rc版本,对于jsx和ssr支持度不高)
因为lodash实在太好用了,既然是后端项目应该也可以忍受多出的几十kb的文件。

前端的目录结构如下:

这里写图片描述

解释:

  • components 公共组件,注册到全局实例中:
    这里写图片描述
  • config 项目的配置文件
  • directives 项目中使用到的自定义指令
  • filters 项目中使用到的自定义过滤器
  • pages 业务目录,以业务模块功能划分,页面相关的组件和store存在放对应的页面文件夹内
  • 4
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
要下载Vue Node.js MySQL项目,您需要按照以下步骤进行操作: 1. 首先,确保您已经安装了Node.js和MySQL数据库。如果没有,请前往它们的官方网站并按照说明进行安装。 2. 打开您的命令行终端,创建一个新的项目文件夹。您可以使用以下命令创建一个名为"my-project"的文件夹: ``` mkdir my-project ``` 3. 进入新创建的项目文件夹: ``` cd my-project ``` 4. 使用以下命令初始化一个新的Node.js项目: ``` npm init -y ``` 这将会自动生成一个默认的`package.json`文件。 5. 安装Vue.js。使用以下命令将Vue.js添加到您的项目中: ``` npm install vue ``` 6. 安装Express框架,用于构建服务器端应用。使用以下命令将Express添加到您的项目中: ``` npm install express ``` 7. 安装mysql模块,用于连接和操作MySQL数据库。使用以下命令将mysql模块添加到您的项目中: ``` npm install mysql ``` 8. 创建一个新的JavaScript文件,例如`app.js`,并打开它。 9. 在`app.js`中编写您的服务器端代码,包括Vue.js的前端代码和与MySQL数据库的交互。您可以根据您的项目需求编写自定义的代码。 10. 保存`app.js`文件并返回终端。 11. 在终端中运行以下命令以启动服务器: ``` node app.js ``` 12. 当服务器启动成功后,您将看到一个成功的消息。此时,您可以在浏览器中访问`http://localhost:3000`来查看您的Vue Node.js MySQL项目。 总结一下,下载Vue Node.js MySQL项目的步骤包括:创建项目文件夹,初始化Node.js项目,安装Vue.js、Express和mysql模块,编写服务器端代码,启动服务器并在浏览器中查看项目。这样,您就可以成功下载和运行Vue Node.js MySQL项目了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值