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 相关文章推荐
onbeforeunload与onunload事件异同点总结
Jun 24 Javascript
JavaScript中的无阻塞加载性能优化方案
Oct 10 Javascript
jQuery实现购物车表单自动结算效果实例
Aug 10 Javascript
在JavaScript中使用JSON数据
Feb 15 Javascript
jQuery阻止移动端遮罩层后页面滚动
Mar 15 Javascript
JS+HTML5实现上传图片预览效果完整实例【测试可用】
Apr 20 Javascript
基于匀速运动的实例讲解(侧边栏,淡入淡出)
Oct 17 Javascript
JS开发中基本数据类型具体有哪几种
Oct 19 Javascript
vue form 表单提交后刷新页面的方法
Sep 04 Javascript
如何利用javascript接收json信息并进行处理
Aug 06 Javascript
详解三种方式在React中解决绑定this的作用域问题并传参
Aug 18 Javascript
详细介绍Next.js脚手架完整搭建封装
Apr 26 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
CI(CodeIgniter)框架中的增删改查操作
2014/06/10 PHP
php结合js实现点击超链接执行删除确认操作
2014/10/31 PHP
PHP文件生成的图片无法使用CDN缓存的解决方法
2015/06/20 PHP
使用PHP实现下载CSS文件中的图片
2015/12/06 PHP
Yii2中事务的使用实例代码详解
2016/09/07 PHP
script标签的 charset 属性使用说明
2010/12/04 Javascript
JS原型对象通俗"唱法"
2012/12/27 Javascript
jquery如何扑捉回车键触发的事件
2014/04/24 Javascript
JavaScript实现广告的关闭与显示效果实例
2015/07/02 Javascript
JQuery ZTree使用方法详解
2017/01/07 Javascript
js调用刷新界面的几种方式
2017/05/03 Javascript
详解Vue.js之视图和数据的双向绑定(v-model)
2017/06/23 Javascript
JS+CSS实现网页加载中的动画效果
2017/10/27 Javascript
js 公式编辑器 - 自定义匹配规则 - 带提示下拉框 - 动态获取光标像素坐标
2018/01/04 Javascript
vue-router 源码实现前端路由的两种方式
2018/07/02 Javascript
JavaScript设计模式之工厂模式和抽象工厂模式定义与用法分析
2018/07/26 Javascript
使用JS获取页面上的所有标签
2018/10/18 Javascript
vue实现前台列表数据过滤搜索、分页效果
2019/05/28 Javascript
浅谈Vue为什么不能检测数组变动
2019/10/14 Javascript
JavaScript实现捕获鼠标坐标
2020/04/12 Javascript
JS指定音频audio在某个时间点进行播放
2020/11/28 Javascript
[01:15:12]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#4Newbee VS CDEC
2016/03/03 DOTA
[02:04]完美世界城市挑战赛秋季赛报名开始 谁是solo路人王?
2019/10/10 DOTA
TensorFlow实现Softmax回归模型
2018/03/09 Python
基于python 爬虫爬到含空格的url的处理方法
2018/05/11 Python
python 设置输出图像的像素大小方法
2019/07/04 Python
使用pandas读取表格数据并进行单行数据拼接的详细教程
2021/03/03 Python
享誉全球的多元化时尚精品购物平台:Farfetch发发奇(支持中文)
2017/08/08 全球购物
英国美术用品购物网站:Cass Art
2019/10/08 全球购物
介绍一下linux的文件系统
2015/10/06 面试题
给公司的建议书范文
2014/05/13 职场文书
法学专业求职信
2014/07/15 职场文书
中韩经贸翻译专业大学生职业生涯规划范文
2014/09/18 职场文书
《只有一个地球》教学反思
2016/02/16 职场文书
Redis读写分离搭建的完整步骤
2021/09/14 Redis
PostgreSQL数据库创建并使用视图以及子查询
2022/04/11 PostgreSQL