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

就把前一段时间做过的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. AtCoder Regular Contest 075

    任意门 C - Bugged 题意:类似装箱问题,但是最后体积总和不能为10的倍数. #include<cstdio> #include<cstring> #include&l ...

  2. linux 内核提权

    不经意间找到了大牛总结的一些Linux提权exp 我直接借花献佛分享给大家 #CVE #Description #Kernels CVE-2017-1000367 [Sudo] (Sudo 1.8.6 ...

  3. 【C#】数据库脚本生成工具(二)

    年C#研发的数据库文档生成工具,给之后的工作带来了便利.近日,又针对该工具,用WinForm开发了数据库脚本生成工具-DbExcelToSQL. 下面数据库文档生成工具效果图: 感兴趣的朋友可以看下[ ...

  4. Dora.Interception, 为.NET Core度身打造的AOP框架[4]:演示几个典型应用

    为了帮助大家更深刻地认识Dora.Interception,并更好地将它应用到你的项目中,我们通过如下几个简单的实例来演示几个常见的AOP应用在Dora.Interception下的实现.对于下面演示 ...

  5. 解决mysql不是内部或外部命令

    安装Mysql后,当我们在cmd中敲入mysql时会出现'Mysql'不是内部或外部命令,也不是可运行的程序或其处理文件. 工具/原料 mysql cmd 方法/步骤 1 打开我的电脑在我的电脑右键中 ...

  6. PHPMailer发送邮件中文附件名是乱码

    可能使用了PHPMailer发送邮件的朋友带中文附件名时会出现乱码,下面我来介绍一个解决办法. 比如我们要发送的附件是"测试.txt",如果在添加附件的时候强制使用指定文件名的方式 ...

  7. WIN2016安装织梦没写入权限怎么办听语音

    配置好了WINSERVER2016环境,一切看起来都弄得差不多了,可是安装织梦的时候提示我没有写入权限,不能继续安装,于是我很郁闷,开始寻求解决办法. 工具/原料 WINSERVER2016 织梦5. ...

  8. PHP flock() 函数

    定义和用法 flock() 函数锁定或释放文件. 若成功,则返回 true.若失败,则返回 false. 语法 flock(file,lock,block) 参数 描述 file 必需.规定要锁定或释 ...

  9. 高质量JAVA代码编写规范

    1. Java 命名约定 除了以下几个特例之外,命名时应始终采用完整的英文描述符.此外,一般应采用小写字母,但类名.接口名以及任何非初始单词的第一个字母要大写. 1.1 一般概念 * 尽量使用完整的英 ...

  10. Linux实践篇--crontab定时任务

    原文出处:http://www.cnblogs.com/tracy/archive/2011/12/27/2303788.html.感谢作者的无私分享 一.  Crontab 介绍           ...