Vue2学习重点总结(Vue配置和使用+Vue脚手架配置代理+Vuex+Router)

V2脚手架文件结构

my-vue-project/
├── build/                 # 构建相关的配置文件,一般情况下你不需要关心这个目录
├── config/                # 项目的配置文件,例如开发环境和生产环境的配置
├── node_modules/          # 项目依赖的第三方模块
├── src/                   # 源代码目录
│   ├── assets/            # 静态资源文件,如图片、字体等
│   ├── components/        # Vue组件文件
│   ├── router/            # Vue Router 路由配置文件
│   ├── store/             # Vuex 状态管理文件
│   ├── views/             # 页面组件文件
│   ├── App.vue            # 根组件
│   └── main.js            # 项目入口文件
├── static/                # 静态资源文件,会被复制到输出目录(如dist)
├── test/                  # 测试文件
├── .babelrc               # Babel配置文件,用于将ES6+代码转换成ES5
├── .editorconfig          # 编辑器配置文件,用于统一不同编辑器的格式
├── .eslintignore          # ESLint忽略配置文件
├── .eslintrc.js           # ESLint配置文件,用于代码规范检查
├── .gitignore             # Git忽略配置文件,指定不需要跟踪的文件和目录
├── index.html             # 项目的HTML入口文件
├── package.json           # 项目的依赖配置和脚本命令
└── README.md              # 项目的说明文档

关于不同版本的Vue

1.vue.js与vue.runtime.xxx.js的区别:

     1.vue.js是完整版的Vue,包含:核心功能 + 模板解析器。

     2.vue.runtime.xxx.js是运行版的Vue,只包含:核心功能;没有模板解析器。

2.因为vue.runtime.xxx.js没有模板解析器,所以不能使用template这个配置项,需要使用render函数接收到的createElement函数去指定具体内容。

vue.config.js配置文件

  1. 用vue inspect > output.js可以查看到Vue脚手架的默认配置。
  2. 使用vue.config.js可以对脚手架进行个性化定制,详情见:Vue CLI

ref属性


  1. 被用来给元素或子组件注册引用信息(id的替代者)
  2. 应用在html标签上获取的是真实DOM元素,应用在组件标签上是组件实例对象(vc)
  3. 使用方式:

                a.打标识:

.....

                b.获取:this.$refs.xxx

props配置项

  1. 功能:让组件接收外部传过来的数据
  2. 传递数据:
  3. 接收数据:

                a.第一种方式(只接收):props:['name']

                b.第二种方式(限制类型):props:{name:String}

                c.第三种方式(限制类型、限制必要性、指定默认值):

props:{
  name:{
    type:String, //类型
      required:true, //必要性
      default:'老王' //默认值
  }
}

备注:props是只读的,Vue底层会监测你对props的修改,如果进行了修改,就会发出警告,若业务需求确实需要修改,那么请复制props的内容到data中一份,然后去修改data中的数据。

mixin(混入)

  1. 功能:可以把多个组件共用的配置提取成一个混入对象
  2. 使用方式:第一步定义混合:
{
    data(){....},
    methods:{....}
    ....
}

第二步使用混入:

全局混入:Vue.mixin(xxx)

局部混入:mixins:['xxx']

插件

  1. 功能:用于增强Vue
  2. 本质:包含install方法的一个对象,install的第一个参数是Vue,第二个以后的参数是插件使用者传递的数据。
  3. 定义插件:
对象.install = function (Vue, options) {
    // 1. 添加全局过滤器
    Vue.filter(....)

    // 2. 添加全局指令
    Vue.directive(....)

    // 3. 配置全局混入(合)
    Vue.mixin(....)

    // 4. 添加实例方法
    Vue.prototype.$myMethod = function () {...}
    Vue.prototype.$myProperty = xxxx
}

   4.使用插件:Vue.use()

scoped样式

  1. 作用:让样式在局部生效,防止冲突。
  2. 写法: