zoukankan      html  css  js  c++  java
  • 【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、再次运行项目,查看页面,说明我们引入成功。页面已经能正确渲染了

  • 相关阅读:
    从应用到平台,云服务架构的演进过程
    从应用到平台,云服务架构的演进过程
    武汉小猫科技-工作总结(1):一图胜万言
    武汉小猫科技-工作总结(1):一图胜万言
    一个App带你学会Retrofit2.0,麻麻再也不用担心我的网络请求了!
    关于创业公司产品开发原则
    关于创业公司产品开发原则
    【Deep learning book】
    【NLP】word2vec
    【python】好书
  • 原文地址:https://www.cnblogs.com/yhnet/p/13845779.html
Copyright © 2011-2022 走看看