• 【Vue入门】利用VueCli搭建基本框架--了解主文件功能,完善main.js(二)


    1、搭建好的主要几个文件目录结构如下图:

    2、为我对各个文件的职责描述:

     3、改在App.vue页面(主要就是加入element的布局代码,看看效果)

    <template>
      <div id="app">
        <!-- <img alt="Vue logo" src="./assets/logo.png">
        <HelloWorld msg="Welcome to Your Vue.js App"/> -->
        <el-container>
          <el-aside width="200px">Aside</el-aside>
          <el-container>
            <el-header>Header</el-header>
            <el-main>Main</el-main>
          </el-container>
        </el-container>
      </div>
    </template>
    
    <script>
    
    //import HelloWorld from "./components/HelloWorld.vue";
    export default {
      name: "App",
      // components: {
      //   HelloWorld
      // }
    };
    </script>
    
    <style>
      .el-header, .el-footer {
        background-color: #B3C0D1;
        color: #333;
        text-align: center;
        line-height: 60px;
      }
      
      .el-aside {
        background-color: #D3DCE6;
        color: #333;
        text-align: center;
        line-height: 200px;
      }
      
      .el-main {
        background-color: #E9EEF3;
        color: #333;
        text-align: center;
        line-height: 160px;
      }
      
      body > .el-container {
        margin-bottom: 40px;
      }
      
      .el-container:nth-child(5) .el-aside,
      .el-container:nth-child(6) .el-aside {
        line-height: 260px;
      }
      
      .el-container:nth-child(7) .el-aside {
        line-height: 320px;
      }
    </style>
    View Code

    4、运行项目,可以看到并没有想象中出现的样子,几个块挤在了一起(原因就在于没有安装及引用elementui)

    5、安装项目所需的第三方插件并在main.js中引用他们,这里以安装elementui为例

    首先就是执行npm命令或者yarn命令  将elementui安装一下,安装完成后参考elementui官网给的提示信息,在main.js中对其进行引用

     然后安装其他需要用的到的插件:vue-router、axios

    完成后main.js代码大概如下:

    //导入Vue
    import Vue from 'vue'
    //导入app.Vue起始页
    import App from './App.vue'
    //导入自己写的router路由
    import router from './router/index'
    //导入element库
    import ElementUI from 'element-ui'
    //导入Less可编程css类
    import Less from 'less'
    //element的css样式要单独引入
    import 'element-ui/lib/theme-chalk/index.css'
    // 导入element的message及messagebox方法
    import { MessageBox,Message } from 'element-ui'  
    //导入VueRouter
    import VueRouter from 'vue-router'
    // 导入axios请求封装类
    import axios from 'axios'
    
    //阻止启动生产消息
    Vue.config.productionTip = false
    
    //注册全局属性  
    Vue.prototype.$message = Message
    Vue.prototype.$messageBox = MessageBox
    //axios引用必须这么写,用use会报错误
    Vue.prototype.axios = axios
    
    //注册全局方法,设置后可在任意地方使用 
    Vue.use(ElementUI);  //不加这句,引入ElementUI会提示 'ElementUI' is defined but never used  no-unused-vars
    Vue.use(VueRouter)
    Vue.use(router)
    Vue.use(Less)
    
    
    
    new Vue({
      //el:'#app',
      router,
      components: { App },
      //挂在App.vue页面到根节点
      render:function(createElement){     
        return createElement(App);
      }
      // render: h => h(App),  等同于左边这句话时es6的简写方式  
      // createElement函数的作用就是生成一个VNode节点,
      // 返回给Vue的mount函数,渲染到真实DOM节点并挂在到根节点上
      //render: h => h(App),
    }).$mount('#app')   //手动挂载  效果相当于在初始化时给el:'#app'
    
    
    
    // 侧边栏弹框提示消息
    // Message({
    //   message: res.Message || '收到请求后比较code值出现异常,请检查大小写', // 消息内容
    //   type: 'error', // success,error,info,warning 弹框类型
    //   duration: 5 * 1000 // 显示时间
    // })
    
    
    // 弹出登陆框重新范例
    // MessageBox.confirm('Token已失效,可选择重新登录或取消', '提示:', {
    //   confirmButtonText: '重新登陆',
    //   cancelButtonText: '取消',
    //   type: 'warning'
    // }).then(() => {
    //   store.dispatch('user/resetToken') // 用户点击重新登陆时 跳转到store下的user文件执行resetToken方法
    //     .then(() => {
    //       location.reload() // 执行成功后重新载入当前文档
    //     })
    // })
    View Code

    6、再次运行项目,查看页面,说明我们引入成功。页面已经能正确渲染了

  • 相关阅读:
    [MacOS]Sublime text3 安装(一)
    [RHEL8]开启BBR
    PAT Advanced 1136 A Delayed Palindrome (20分)
    PAT Advanced 1144 The Missing Number (20分)
    PAT Advanced 1041 Be Unique (20分)
    PAT Advanced 1025 PAT Ranking (25分)
    PAT Advanced 1022 Digital Library (30分)
    PAT Advanced 1019 General Palindromic Number (20分)
    PAT Advanced 1011 World Cup Betting (20分)
    PAT Advanced 1102 Invert a Binary Tree (25分)
  • 原文地址:https://www.cnblogs.com/yhnet/p/13845779.html
Copyright © 2020-2023  润新知