项目杂笔记

命令行环境改为淘宝镜像环境

C:\Users\16915>npm config get registry
https://registry.npmjs.org/
C:\Users\16915>npm config set registry  http://registry.npmmirror.com
C:\Users\16915>npm config get registry
http://registry.npmmirror.com/

搭建项目

创建项目

新建一个“项目”文件夹,在“项目”文件夹下创建了一个名为my-app的项目

C:\Users\16915\Desktop\项目>vue create my-app

将这个创建好的项目直接拖进vscode中打开,在终端中cd进入,启动运行一下

PS C:\Users\16915\Desktop\项目> cd my-app
PS C:\Users\16915\Desktop\项目\my-app> npm run serve

运行成功的界面

安装路由

此命令可以安装指定版本

PS C:\Users\16915\Desktop\项目\my-app> npm i vue-router@3.6.5     

配置路由页面

在src目录下创建router文件夹,在文件夹下创建index.js文件(index.js如下)

import Vue from 'vue'
import VueRouter from 'vue-router'
//1、创建组件并导入
import Home from '../views/Home.vue '
import User from '../views/User.vue'
Vue.use(VueRouter)

//2、定义路由,每个路由应该映射一个组件
const routes = [
    { path: '/home', component: Home },
    { path: '/user', component: User }
]
//3、创建router实例
const router = new VueRouter({
    routes // (缩写) 相当于 routes: routes
})

export default router //将router对外暴露 ?不懂

//4、在main.js中配置和挂载路由

在src文件夹下创建views文件夹,存放页面(Home.vue如下)

<template>
    <h1>我是Home组件</h1>
</template>
<script>

export default {
    data() {
        return {

        }
    }
}
</script>

在main.js文件中配置两行代码

1、import router from './router'

2、挂载路由

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

Vue.use(ElementUI);
Vue.config.productionTip = false

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

配置完以上步骤,运行一下,npm run serve,会出现以下问题

eslint是一个代码风格管理插件,命名不规范或者缺少符号都会引起报错,但是太过严苛不利于编写代码,可以在vue.config.js中更改配置,加上lintOnSave:false

const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
  transpileDependencies: true,
  lintOnSave: false
})

再次运行,我遇到一个小错误,说我Home路径不对

结果检查下来发现是引入时多多写了一个空格

再次运行依然没有生效,需要在App.vue中渲染组件

<template>
  <div id="app">

    <!-- 路由出口 -->
    <!-- 路由匹配到的组件将渲染在这里 -->
    <router-view></router-view>

  </div>
</template>

运行结果可以实现路由的跳转了

         

嵌套路由

在views文件夹下创建一个主页面Main.vue

在index.js下对其进行配置,首先import引入,再配置routes,主页面路径一般都是 ' / ' 

import Main from '../views/Main.vue'
const routes = [
    //主路由
    {
        path: '/',
        component: Main,
        //子路由
        children: [
            { path: 'home', component: Home },
            { path: 'user', component: User }
        ]
    }
]

最重要一点!在主文件下Main.vue中放置子路由出口

<template>
    <div>
        <h1>main</h1>
        <!-- 子路由出口 -->
        <!-- 路由匹配到的组件将渲染在这里 -->
        <router-view></router-view>
    </div>
</template>

我的理解是子路由是跟在主路由屁股后面显示的

            

组件封装

在文件夹components下创建一个侧边栏组件,名为CommonAside.vue,采用container布局,直接复制element-ui对应布局

在主文件Main.vue中引用

import CommonAside from "../components/CommonAside";

注意,刚才有一个小错误,加上花括号运行直接导致引用的组件不显示(如下)

在components中引用

export default {
    data() {
        return {

        }

    },
    components: {
        CommonAside
    }
}

可以直接在想要展示的位置引用组件(注意:名字太长需要使用短横( - )来命名!)

 <el-aside width="200px">
                <common-aside />
            </el-aside>

安装Vuex

进入项目,安装指定版本

在src文件夹下创建一个名为store的文件夹,再在该文件夹下创建一个index.js文件

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值