vue-cli中配置vuex流程和注意事项
本文目录
- vue-cli下新建站
- 配置路由更改HelloWorld.vue组件到新建Home.vue组件
- 安装vuex
- 测试是否安装成功vuex
一:vue-cli下新建站
a)新建文件夹vuexStudy
b)进入命令窗口:vue init webpack
特别引调,输入站点名称不能为vuex
一路默认执行,创建vue-cli下的webpack模板站点npm run dev
在浏览器中,输入http://localhost:8080 (确保你自己端口号),确认成功后进行下这vuex安装
二:安装vuex(
备注:
1)安装vuex前,可以考虑清空HelloWorld.vue内容,也可采用新建一个空组件(即去掉视图模板<template></template>无关干扰列表等住处)如新建home.vue
home.vue文件如下<template>
<div class="Home">
{{msg}}
</div>
</template>
<script>
export default {
data () {
return {
msg: 'Home.vue 组件'
}
}
}
</script>2)配置路由文件/router/index.js 更改helloWorld.vue为home.vue
配置路由.index.js添加如下文件import Vue from 'vue'
import Router from 'vue-router'
import Home from '@/components/Home' Vue.use(Router) export default new Router({
routes: [
{
path: '/',
name: 'Home',
component: Home
}
]
})
网址中输入浏览:http://localhost:8080
出现如下内容,说明配置路由更改helloWorld.vue组件到home.vue

a)安装命令
npm install vuex --save
b)配置
在 main.js配置入口中,配置 vuex如下
import Vuex from 'vuex'
Vue.use(Vuex)
三:测试是否安装成功Vuex
a)新建文件夹与文件
b)main.js入口配置文件中,配置vuex
c)组件home.vue调用state选项,保存在文件rootState.js的变量
备注:如果在项目中需要配置的vuex选项很多,我们则应该把vuex的相关代码分割到不同模块
a)新建文件夹与文件
a)在src下新建store文件夹,在文件夹中创建如下几个文件
rootState.js 对应核心概念 state选项
getters.js 对应核心概念 getter选项
mutation.js 对应核心概念 mutations选项
action.js 对应核心概念 actions选项
index.js 整合如上各个模块,创建并导出vuex实例
我们可以随意设置如上文件名,但最好可以通过文件名就能判断出这个文件是用来干嘛的
index.js中代码如下
强调:import Vue from 'vue' 此导入第二个vue要全部小写,不则配置找不到变量
import Vue from 'vue';
import Vuex from 'vuex';
import state from './rootState.js';
import getters from './getters.js';
import mutations from './mutations.js';
import actions from './actions.js'; Vue.use(Vuex);
const store = new Vuex.Store({
state,
getters,
actions,
mutations
}); export default store;
b)store文件夹下,四个文件(rootState.js getters.js mutations.js actions.js)配置都差不多一样,以rootState.js为例
rootState.js代码如下
/**
* 此文件除声明变量,还可声明数组
* */
const state = {
count: 0,
firstName: '姓张',
lastName: '名许',
student: ['张三', '李四', '王二']
}
export default state
b)main.js入口配置文件中,配置vuex
首先:main.js文件
import Vue from 'vue'
import App from './App'
import router from './router'
import store from './store/index'; //导入store下配置的vuex相关文件 Vue.config.productionTip = false new Vue({
el: '#app',
router,
store,//引用store
components: { App },
template: '<App/>'
})
再次:到home.vue中调用rootState.js变量
思路分析两点:
通过computed:{}选项来引用文件rootState.js文件中变量,代码如下
<template>
<div class="Home">
<p>测试home.vue组件配置成功否:{{msg}}</p>
<p>引用state选项一个变量:{{count}}</p>
<p>引用state选项两个变量组合:{{fullName}}</p>
<p>引用state选项中的数组:{{students}}</p>
</div>
</template>
<script>
export default {
name: 'Home',
data () {
return {
msg: 'Home.vue 组件'
}
},
computed: {
// 调用是vuex,state选项文件rootState.js中声明变量
count () {
console.log('this结构:' + this.$store.state.count)
return this.$store.state.count
},
// 调用是vuex,state选项文件rootState.js中声明变量
fullName () {
console.log('this结构:' + this.$store.state.firstName)
return this.$store.state.firstName + this.$store.state.lastName
},
students () {
return this.$store.state.students
}
}
}
</script>
个人首次配置vuex心得,具体遇到问题,后期完善
vue-cli中配置vuex流程和注意事项的更多相关文章
- vue cli 中关于vue.config.js中chainWebpack的配置
Vue CLI 的官方文档上写:调整webpack配置最简单的方式就是在vue.config.js中的configureWebpack选项提供一个对象. Vue CLI 内部的 webpack 配置 ...
- Vue Cli 中使用 Karma / Chrome 执行样式相关单元测试
在 GearCase 开源项目 中,我使用了 Vue Cli 的默认测试框架.因此和样式相关的东西,都无法进行测试.因为它并不类似于无头浏览器,而是存在于虚拟内存之中. 现状 在如下 button.s ...
- [Vue CLI 3] 配置解析之 indexPath
在 vue.config.js 配置中有一个 indexPath 的配置,我们先看看它有什么用? 用来指定 index.html 最终生成的路径(相对于 outputDir) 先看看它的默认值:在文件 ...
- vue cli中的env详解
前言 相信使用过 vueCli 开发项目的小伙伴有点郁闷,正常开发时会有三个接口环境(开发,测试,正式),但是 vueCli 只提供了两种 development,production(不包含 tes ...
- @vue/cli的配置知道多少-publicPath,outputDir,assetsDir,indexPath,filenameHashing,configureWebpack,productionSourceMap
vue.config.js的简单介绍 vue.config.js 是一个可选的配置文件, 在项目的 (和 package.json 同级的) 根目录中存在这个文件. 默认情况没有这个文件需要我们手动去 ...
- 在VUE应用中配置ESLint(代码检查)
eslint配置方式 注释配置:使用js注释来直接嵌入ESLint配置信息到一个文件里 配置文件:使用一个js文件,JSON或者YAML文件来给整个目录和它的子目录指定配置信息.这些配置可以写在一个文 ...
- Vue项目中使用Vuex + axios发送请求
本文是受多篇类似博文的影响写成的,内容也大致相同.无意抄袭,只是为了总结出一份自己的经验. 一直以来,在使用Vue进行开发时,每当涉及到前后端交互都是在每个函数中单独的写代码,这样一来加大了工作量,二 ...
- [Vue CLI 3] 配置解析之 parallel
官方文档中介绍过在 vue.config.js 文件中可以配置 parallel,作用如下: 是否为 Babel 或 TypeScript 使用 thread-loader. 该选项在系统的 CPU ...
- 在vue项目中配置webpack
首先我们来看一下使用Vue-cli2与Vue-cli2之后的版本(这里以Vue-cli4版本为例)创建项目目录结构的不同: Vue-cli2(左图)与Vue-cli4(右图)创建项目的目录 从上图可以 ...
随机推荐
- 【学习笔记】Linux基础(零):预备知识
学习笔记(连载)之Linux系列 Note:本学习笔记源自<鸟哥的Linux私房菜(基础学习篇)>一书,为此书重要内容的摘要和总结,对于一些常识性的知识不再归纳 新型冠状病毒引发的肺炎战& ...
- MySQL 清理缓存—flush tablesFlush tables的影响
摘自:http://blog.chinaunix.net/uid-31401119-id-5781305.html 1 Flush tables简介 官方手册中关于Flush tables的介绍, ...
- maven 打包详解
Maven可以使用mvn package指令对项目进行打包,如果使用Java -jar xxx.jar执行运行jar文件,会出现"no main manifest attribute, in ...
- Ubuntu解决 MariaDB无密码就可以登录的问题
使用apt-get来安装mysql,安装好之后发现安装的是 MariaDB,如下,无需密码既可以登录了.即使使用mysqladmin或mysql_secure_installation 设置好密码,用 ...
- gentoo在KVM+QEMU中安装笔记
gentoo是比较难安装的,本笔记主要是记录本次安装过程,以备参考. 1.首先,下载镜像,可以去国内各大镜像网站下载,我选择的是清华的镜像源:https://mirrors.tuna.tsinghua ...
- Sopus库中FindEigen3.cmake内容详解笔记
FindEigen3.cmake: # - Try to find Eigen3 lib # Once done this will define # # EIGEN3_FOUND - system ...
- socket实现文件上传(客户端向服务器端上传照片示例)
本示例在对socket有了基本了解之后,可以实现基本的文件上传.首先先介绍一下目录结构,server_data文件夹是用来存放客户端上传的文件,client_data是模拟客户端文件夹(目的是为了测试 ...
- 机器学习(ML)十二之编码解码器、束搜索与注意力机制
编码器—解码器(seq2seq) 在自然语言处理的很多应用中,输入和输出都可以是不定长序列.以机器翻译为例,输入可以是一段不定长的英语文本序列,输出可以是一段不定长的法语文本序列,例如 英语输入:“T ...
- Java并发编程(三):ReentrantLock
ReentrantLock是可以用来代替synchronized的.ReentrantLock比synchronized更加灵活,功能上面更加丰富,性能方面自synchronized优化后两者性能没有 ...
- Github搜索技巧-如何使用github找到自己感兴趣的项目(转载)
Github现在不仅仅作为一个版本控制工具,更是一个开源的仓库,里面不但有优秀的开源代码,电子书,还有一些五花八门的项目,有些国家的法律也放在上面,作为程序员如何找到自己感兴趣的项目就非常重要了! 欢 ...