Vue项目搭建与开发(二)

277 阅读3分钟

这是我参与11月更文挑战的第2天,活动详情查看:2021最后一次更文挑战

前言

本文主要介绍一下vue项目入口文件的解读,包括一些语法、命令的使用。

项目入口main.js介绍

项目默认的main.js如下

 //这个是引入vue框架 等同于引入vue.js  <script src="./js/vue.js"></script>
import Vue from 'vue' 
// 引入根组件App ,App是单页面应用中的唯一的根组件,以后开发的组件都会放在App内部
import App from './App.vue'

//隐藏开发模式的提示:
Vue.config.productionTip = false

//创建vue的根实例
 // h是一个渲染dom的回调,将App组件渲染到id=app的dom结构中 
// $mount('#app'):   #app即为public文件夹中index.html中的<div id="app"></div>new Vue(
{ 
     render: h => h(App),
}).$mount('#app')

这里还可以有另外一种写法

import store from "./store";
import router from "./router";
new Vue(
{  
el: "#app",  
router, 
 store, 
 render: (h) => h(App),});

其中.$mount('#app') 和 el的声明所起的作用是一样的,这里有引入另外的vuex库和route库,
通过 router 配置参数注入路由,让整个应用具有路由功能。
store是全局状态管理,一并在此引入

Vue相关语法使用总结

  • Vue.use()

    import VueRouter from "vue-router"; Vue.use(VueRouter); use表示全局引入路由插件。

    import Vue from 'vue';

    // 这个插件必须具有install方法 const plugin = { install (Vue, options) { // 添加全局方法或者属性 Vue.myGlobMethod = function () {}; // 添加全局指令 Vue.directive(); // 添加混入 Vue.mixin(); // 添加实例方法 Vue.prototype.$xxx = function () {}; // 注册全局组件 Vue.component() } }

    // Vue.use内部会调用plugin的install方法 Vue.use(plugin);

    这个方法接收一个参数。这个参数必须具有install方法。Vue.use函数内部会调用参数的install方法。 如果插件没有被注册过,那么注册成功之后会给插件添加一个installed的属性值为true。 Vue.use方法内部会检测插件的installed属性,从而避免重复注册插件。 插件的install方法将接收两个参数,第一个是参数是Vue,第二个参数是配置项options。 在install方法内部可以添加全局方法或者属性、全局指令、mixin混入、添加实例方法、使用Vue.component()注册组件等。

  • import

  •   用于在一个模块中加载另一个含有export接口的模块
      
      这种是对于 export default 的组件,如下导入
      import Layout from "@/layouts";
      //这里表示引入组件,默认是引入src目录下对应layouts文件夹下的index.vueimport EditImg from "@/components/xinou/checkImgEdit.vue";
      //这里表示引入组件,默认是引入src目录下对应components文件夹下的checkImgEdit.vue
    
  • export default 与 export

  •   export default 表示导出一个默认模块
      如果通过export方式导出,在导入时要加{ },export default则不需要
      如下在js文件里
      var name1="李四";
      var name2="张三";function nameTo(x,y){
         alert(name1+name2)
      }export { name1 ,name2,nameTo }也可以直接定义 export var name1="李四";2种方式均可
      在另外个文件导入
      import { name1 , name2,nameTo } from "/name.js" //路径根据你的实际情况填写
    
  • Vue.compont

  •   这个方法是注册一个全局组件,
      Vue.component("byui-query-form", ByuiQueryForm);
      表示在全局可以直接使用<byui-query-form></byui-query-form> 
      来用将ByuiQueryForm注册为全局组件,
      在别的组件中通过<byui-query-form>标签使用ByuiQueryForm组件
    

总结

本文主要对入口main.js文件作了一些解读,还有vue项目里的各个语法命令的介绍,加深我们对项目的理解,方便我们的开发,毕竟从入口开始,我们就需要对一些业务做一些初始化或者其他的处理。

所以对入口的运行逻辑还是需要知道的,后面还有路由插件route、全局状态管理插件vuex的使用,摸清了这2个插件的用法,一个vue项目的流程基本也能很好的处理了,剩下的就是业务代码的编写。