马上过年了,最近工作不太忙,再加上本人最近比较懒,毫无斗志,不愿学习新东西,或许是要过年的缘故(感觉像是在找接口)。

就把前一段时间做过的vue项目,进行一次完整的总结。

这次算是详细总结,会从项目的搭建,一直到最后的服务器上部署。

废话不多说了。干货直接上。

一、   必须node环境,   这次就不写node环境的安装了。过两天我会写个node环境的安装随笔。

二、  node环境配好后。开整vue。

1. 安装vue脚手架。

  npm install -g vue-cli

2.  用脚手架搭项目(只是一行命令)

  vue init webpack-simple (项目名字)

  或

  vue init webpack (项目名字)

  二者区别(个人理解):

    vue init webpack-simple  :可以理解为轻巧的,没有多余的配置和包,但能保证项目正常运行。

    vue init webpack :  可以理解为完整的,包含比较多配置和包。

3. 本次选用 vue init webpack 完整版的。

  (1)  执行完vue init webpack,会遇见以下选项。

 完成上述选(按需选择),等把所需依赖下载完后。

 (2)  进入刚建的项目里,执行npm install

  eg:    PS E:\vueTest\vueTest2> npm run dev

  当 出现下面的话,就证明你的vue项目已经搭好了。

 

 (3) 打开浏览器,访问 http://localhost:8080,

    当出现下面这个页面,说明vue项目正常运行了。框架已搭好。

  

  (4) 骨架已搭好,现在给她血与肉,让她不在骨感。

    这次我们用 axios 进行向服务器请求

          vuex 来管理我们的前端数据。

  我们需要首先安装这两个依赖包,按套路走 : npm install  axios vuex --save

    在此我做个补充,安装依赖包时,会使用到 --save-dev 或 --save

    安装的依赖包会在项目中这个文件package.json中展示

    --save: 上线后,要用到的。(执行后,会对应下图中dependencies)

    --save-de: 开发时,要用到的包.(执行后,会对应下图中devDependencies)

    

  

  此处,我也有个问题: 安装的依赖包,是放到 dependencies 中,还是 devDependencies中?

  在网上找了半天也没有得到确切答案,只是笼统的说“开发环境用到的包放在devDependencies, 上线用到的依赖包放在dependencies”。所以,我就按自己的理解来放了,vue、vuex、axios、vue-router,放在dependencies,其他依赖包放在               devDependencies,  我的依据就是默认生成框架时,vue、vue-router 会放在dependencies中,所以,我觉得跟vue项目密切相关的vuex、axios也放在dependencies(只是个人见解)。

  (5) 依赖包已经安装完,现在。我们来配置 路由(router) 和 数据管理仓库(store)

     为了开发的规范和整洁,我把这两块儿,分别放在两个文件夹中

    

   (6) 现在分别来讲。先整 router(路由)。

  

  (7) 数据管理 ————仓库(store)

  这个建议先看看官网:https://vuex.vuejs.org/zh-cn/

  在这里我就给出细化的分类,以及大致流程图。

  在此store文件夹下的js截图:actions.js、 moutations.js、 index.js、 types.js、 getters.js

                  

  

  index.js   负责管理 actions.js 和 moutations.js

  actions.js   相当于java,中的service层,相当于是接口。 (如果不熟悉java,你就认为,actions.js的目的是,可以认为这是书的目录。为了让项目整洁,一目了然,清楚阅览actions.js ,每个操存储操作的目的 )

  moutations.js   相当于java,中的dao层,与存取数据有关。(如果不熟悉java,你就认为,moutations.js的目的是,存数据,把数据存到变量里,保存起来)。

  getters.js   就是获取仓库中数据的方法。 (目的是,把所有的获取数据操作放在一起。方便管理与查找)。

  types.js  清楚表明,存数据时,actions.js 的方法 和 moutations.js 中的方法, 一对一对应。这样条理清晰。

  大致给出了 actions.js 、 motations 、 getters 三者之间的关系。

  

  (8)  vue 中模拟数据。

  vue中模拟数据的意义: 当本地测试时,方法会访问模拟数据,当项目上线后,当调用方法时,会直接访‘“.do”请求,问服务器,回去数据库返回的数据。

  在vue项目中的创建mock数据: 在static中创建mock文件夹以及config.js如下图

  

  vue项目中如何配置mock数据,以及上线后的请求:

  最近做vue项目时,遇到了一个问题,模拟数据时,如何配置mock中的json数据。

  旧的vue脚手架中是通过 dev-server.js 来配置mock数据的。

但新的vue脚手架是下图,没有dev-server.js.这时mock数据怎么配置呢? 答案是,mock配置放在 webpack.dev.conf.js中。

找到webpack.dev.conf,js,并进行如下配置。

 (9). 项目完成后,打包命令是 npm run build.

  会在项目中,生成包。如下图:

(10). 把生成的项目打到服务器上,需要注意路径问题

  在项目中的config文件夹下的index.js 中 assetsPublicPath,配置服务器路径。(按需求配置,此处我就用默认的了)

  

  到目前为止,vue相关的问题,大致整完了。

  如果看到的朋友,有何疑问,我们可以一起探讨。

  此刻已是20180209   17:47,今天放假。我也准备关闭电脑。

  看到同事们已经下班。有的拎着行李赶火车,回家过年了。大家都是满脸喜悦,无论我们是少年、还是中年、暮年,团聚与回家的喜悦,都是发自内心,脸上是遮不住的............

vue项目实战总结的更多相关文章

  1. webpack+vue项目实战(四,前端与后端的数据交互和前端展示数据)

    地址:https://segmentfault.com/a/1190000010063757 1.前言 今天要做的,就是在上一篇文章的基础上,进行功能页面的开发.简单点说呢,就是与后端的数据交互和怎么 ...

  2. vue项目实战, webpack 配置流程记录

    vue项目实战记录,地址在这 购物车单界面 npm install npm run dev 跑起来可以看到界面效果 这里简单记录一下webpack的编译流程 入口 package.json " ...

  3. vue项目实战

    本篇文章主要介绍了vue的环境配置,vue项目的目录结构以及在开发vue项目中问题的一些解决方案. 环境配置及目录结构 1.安装node.js(http://www.runoob.com/nodejs ...

  4. Vue 项目实战系列 (一)

    最近一直在学习Vue,基本的文档看完后就需要进行具体的项目进行练手了,本系列文章主要是将我学习过程记录下来,和大家一起学习交流. 我在git上找到了一个淘票票的Vue项目,项目地址: https:// ...

  5. vue 项目实战 (入门)

    环境搭建 安装NodeJS →箭头https://nodejs.org/en/ NPM是随同NodeJS一起安装的包管理工具. 检查环境是否安装成功: 打开一个命令提示符,有成功输出版本号则为安装成功 ...

  6. 详细记录vue项目实战步骤(含vue-cli脚手架)

    一.通过vue-cli创建了一个demo. (vue-cli是快速构建这个单页应用的脚手架,本身继承了多种项目模板:webpack(含eslit,unit)和webpack-simple(无eslin ...

  7. vue项目实战经验汇总

    目录 1.vue框架使用注意事项和经验 1.1 解决Vue动态路由参数变化,页面数据不更新 1.2 vue组件里定时器销毁问题 1.3 vue实现按需加载组件的两种方式 1.4 组件之间,父子组件之间 ...

  8. Spring Boot +Vue 项目实战笔记(一):使用 CLI 搭建 Vue.js 项目

    前言 从这篇文章开始,就进入真正的实践了. 在前端项目开发中,我们可以根据实际情况不同程度地使用 Vue.利用 Vue CLI(或写成 vue-cli,即 Vue 脚手架)搭建出来的项目,是最能体现 ...

  9. Vue 项目实战系列 (二)

    上一章节我们已经把项目的初始化工作完成了,接下来我们再来进行具体的代码编写.这一节我们将完成如下的页面. 我们在src/目录下新建一个views文件夹,存放我们的主要页面文件.目录结构如下: cine ...

随机推荐

  1. HDU 1002 A + B Problem II(高精度加法(C++/Java))

    A + B Problem II Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) ...

  2. 2329: [HNOI2011]括号修复

    传送魔法 一开始以为可以直接线段树的,好像还是不行……还是得用Spaly,然后就没啥了. #include<cstdio> #include<algorithm> #defin ...

  3. [bzoj1587] [Usaco2009 Mar]Cleaning Up 打扫卫生

    首先(看题解)可得...分成的任意一段中的不同颜色个数都<=根号n...不然的话直接分成n段会更优= = 然后就好做多了.. 先预处理出对于每头牛i,和它颜色相同的前一头和后一头牛的位置. 假设 ...

  4. hbmy周赛1--D

    D - Toy Cars Time Limit:1000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Submi ...

  5. HDFS命令全总结

    .copyFromLocal hadoop fs -copyFromLocal -f dcnew.reg_user_actret.csv /dw/test/reg_user_actret_test # ...

  6. python笔记二(mysql数据库操作)

    python2.x使用MySQLdb python3.x使用pymysql代替MySQLdb 不过我使用的是python3.5,MySQLdb还是可以在python3.5使用的. #!/usr/bin ...

  7. .NET MongoDB Driver GridFS 2.2原理及使用示例

    一.API解读 1 GridFSBucketOptions 1)public string BucketName { get; set; } 获取或设置bucket名称 2)public int Ch ...

  8. Cannot declare class app\home\controller\Cases because the name is already in use

    Cannot declare class app\home\controller\Cases because the name is already in use 命名空间冲突了 use 模型类的时候 ...

  9. Thrift之TProtocol系列TBinaryProtocol解析

    首先看一下Thrift的整体架构,如下图: 如图所示,黄色部分是用户实现的业务逻辑,褐色部分是根据thrift定义的服务接口描述文件生成的客户端和服务器端代码框架(前篇2中已分析了thrift ser ...

  10. 从arduino到32单片机的转型

    #include "stm32f10x.h" #include "led.h" #include "delay.h" int main(vo ...