vue项目实战总结篇


Posted in Javascript onFebruary 11, 2018

这篇文章把小编前段时间做的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,会遇见以下选项。

vue项目实战总结篇

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

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

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

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

 vue项目实战总结篇

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

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

vue项目实战总结篇

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

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

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

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

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

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

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

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

 

vue项目实战总结篇

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

在网上找了半天也没有得到确切答案,只是笼统的说“开发环境用到的包放在devDependencies, 上线用到的依赖包放在dependencies”。所以,我就按自己的理解来放了,vue、vuex、axios、vue-router,放在dependencies,其他依赖包放在

devDependencies,

我的依据就是默认生成框架时,vue、vue-router 会放在dependencies中,所以,我觉得跟vue项目密切相关的vuex、axios也放在dependencies(只是个人见解)。

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

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

vue项目实战总结篇

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

vue项目实战总结篇

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

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

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

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

vue项目实战总结篇vue项目实战总结篇vue项目实战总结篇vue项目实战总结篇

vue项目实战总结篇

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 三者之间的关系。

vue项目实战总结篇

(8) vue 中模拟数据。

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

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

vue项目实战总结篇

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

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

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

vue项目实战总结篇

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

vue项目实战总结篇

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

vue项目实战总结篇

vue项目实战总结篇

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

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

vue项目实战总结篇

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

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

vue项目实战总结篇

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

Javascript 相关文章推荐
JQuery中的ready函数冲突的解决方法
May 17 Javascript
再次分享18个非常棒的jQuery表格插件
Apr 10 Javascript
JavaScript基本编码模式小结
May 23 Javascript
js实现将选中值累加到文本框的方法
Aug 12 Javascript
jstree单选功能的实现方法
Jun 07 Javascript
基于Vue生产环境部署详解
Sep 15 Javascript
react中使用swiper的具体方法
May 15 Javascript
Vue列表渲染的示例代码
Nov 01 Javascript
浅谈小程序 setData学问多
Feb 20 Javascript
了解JavaScript函数中的默认参数
May 30 Javascript
Webpack设置环境变量的一些误区详解
Dec 19 Javascript
详解JavaScript中new操作符的解析和实现
Sep 04 Javascript
在 Angular中 使用 Lodash 的方法
Feb 11 #Javascript
Material(包括Material Icon)在Angular2中的使用详解
Feb 11 #Javascript
原生JS实现循环Nodelist Dom列表的4种方式示例
Feb 11 #Javascript
Vue实现点击后文字变色切换方法
Feb 11 #Javascript
Vue-cli中为单独页面设置背景色的实现方法
Feb 11 #Javascript
vue刷新和tab切换实例
Feb 11 #Javascript
详解如何在vue项目中引入elementUI组件
Feb 11 #Javascript
You might like
php实现的遍历文件夹下所有文件,编辑删除
2010/01/05 PHP
php is_file()和is_dir()用于遍历目录时用法注意事项
2010/03/02 PHP
ThinkPHP验证码使用简明教程
2014/03/05 PHP
php+xml实现在线英文词典查询的方法
2015/01/23 PHP
php通过rmdir删除目录的简单用法
2015/03/18 PHP
PHP的Yii框架使用中的一些错误解决方法与建议
2015/08/21 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
php 反斜杠处理函数addslashes()和stripslashes()实例详解
2016/12/25 PHP
PHP添加文字水印或图片水印的水印类完整源代码与使用示例
2019/03/18 PHP
Laravel框架实现多数据库连接操作详解
2019/07/12 PHP
JSON.stringify 语法实例讲解
2012/03/14 Javascript
如何使用jquery动态加载js,css文件实现代码
2013/04/03 Javascript
JQuery制作的放大效果的popup对话框(未添加任何jquery plugin)分享
2013/04/28 Javascript
巧用局部变量提升javascript性能
2014/02/24 Javascript
js简单的弹出框有关闭按钮
2014/05/05 Javascript
详解AngularJS控制器的使用
2016/03/09 Javascript
原生js实现自由拖拽弹窗代码demo
2016/06/29 Javascript
vue2.0 elementUI制作面包屑导航栏
2018/02/22 Javascript
JavaScript常见继承模式实例小结
2019/01/11 Javascript
jQuery实现input输入框获取焦点与失去焦点时提示的消失与显示功能示例
2019/05/27 jQuery
jQuery设置下拉框显示与隐藏效果的方法分析
2019/09/15 jQuery
[01:48]DOTA2 2015国际邀请赛中国区预选赛第二日战报
2015/05/27 DOTA
[01:06:39]DOTA2上海特级锦标赛主赛事日 - 1 胜者组第一轮#1Liquid VS Alliance第三局
2016/03/02 DOTA
[03:11]TI9战队档案 - Alliance
2019/08/20 DOTA
Python中用PIL库批量给图片加上序号的教程
2015/05/06 Python
Python 私有化操作实例分析
2019/11/21 Python
python报错TypeError: ‘NoneType‘ object is not subscriptable的解决方法
2020/11/05 Python
世界上最大的乐器零售商:Guitar Center
2017/11/07 全球购物
GANT葡萄牙官方商店:拥有美国运动服传统的生活方式品牌
2018/10/18 全球购物
Crocs波兰官方商店:女鞋、男鞋、童鞋、洞洞鞋
2019/10/08 全球购物
什么是Web Service?
2012/07/25 面试题
小学教师管理制度
2014/01/18 职场文书
2014年工程部工作总结
2014/11/25 职场文书
MySQL的安装与配置详细教程
2021/06/26 MySQL
Oracle表空间与权限的深入讲解
2021/11/17 Oracle
win10+RTX3050ti+TensorFlow+cudn+cudnn配置深度学习环境的方法
2022/06/25 Servers