vue项目笔记

155 阅读3分钟

VUE前端项目学习

一、Vue-cli4脚手架搭建

1.1 安装nodejs

安装node和npm,安装了node之后就会自动安装npm。node官网

使用以下命令可以判断node和npm是否安装成功:

node -v
npm -v

如果成功打印版本号,即安装成功。

1.2 安装cnpm

cnpm是对包管理工具npm的一个封装,因为npm服务器在国外,所以国内用户下载较慢,由淘宝推出了一个使用国内镜像的cnpm,cnpm官网。安装如下:

sudo npm install cnpm -g --registry=https://registry.nlark.com #类unix系统需要加上sudo,windows则不用

1.3 安装vue-cli脚手架构建工具

安装命令如下:

cnpm install -g @vue/cli       #非指定版本
cnpm install -g @vue/cli@版本号 #指定版本

本次使用的vue-cli版本为4.5.15

1.4 创建项目

vue create 项目名称

项目名称中不能存在大些字母,可以有中划线和下划线。

二、Element ui的简单使用

导入elementui的css和js 可以通过cdn的方式导入,也可以通过本地文件的方式。

<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">

<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/element-ui/lib/index.js"></script>

在文件中导入了以上文件之后就可以使用elementUI的组件了。

三、在vue项目中引入ElementUI

在项目中安装elementUI

npm i element-ui -S

3.1 全局引入

src/main.js文件中引入elementUI

import Vue from 'vue';
import ElementUI from 'element-ui';
import 'element-ui/lib/theme-chalk/index.css';
import App from './App.vue';

Vue.use(ElementUI);

3.2 局部引入

借助 babel-plugin-component,我们可以只引入需要的组件,以达到减小项目体积的目的。 首先,安装 babel-plugin-component:

npm install babel-plugin-component -D

然后,将 .babelrc 修改为:

{
  "presets": [["es2015", { "modules": false }]],
  "plugins": [
    [
      "component",
      {
        "libraryName": "element-ui",
        "styleLibraryName": "theme-chalk"
      }
    ]
  ]
}

那么,如果只需要引入部分组件,就只需要在main.js中将ElementUI改为{ Button, 组件名 },然后使用vue.use(Button),每个组件都需要使用一遍。

四、路由的使用

4.1 安装vue-router

指定版本安装,这里好像只能使用npm安装,在使用cnpm安装好像失败了。

npm i vue-router@3.2.0

在main.js中引入我们创建的router文件夹,在new Vue({})传入。

import router from '../router'

new Vue({
  router,
  render: h => h(App),
}).$mount('#app')

在项目根目录下创建router文件夹,用来存放路由相关的文件。

首先,创建一个index.js作为路由管理文件。在该文件中,引入vue和vue-router组件。并将vue-router组件配置到全局。即如下代码:

import Vue from 'vue'
import VueRouter from 'vue-router'

Vue.use(VueRouter)

初始化一个VueRouter类,并给该实例赋值。routes是必须的。

const router = new VueRouter({
  mode: 'history', //模式
  routes: [
    {}
  ] //routes的参数下面再介绍
})

注意:这里VueRouter的属性是routes,不要写成routers,否则<router-view></router-view>标签加载不出来。<router-view>是展示路由模板内容的标签。

VueRouter中的routes属性是一个数组类型,该数组内存放的是多个对象,也就对应多个路由路径。基本配置为:

const routers = [
  {
    path: '/',  //路由路径
    name: 'Home',   //路由别名
    component: ()=>import('.vue文件路径') //也可以在文件开头引入
  }
]

<router-link>标签可以监听标签内带有事件的标签,比如按钮;该标签有一个to属性,后面可以根一个路由地址。

<router-link to="/">
  <el-button>按钮</el-button> //elementUI中的按钮组件
</<router-link>>