Vue的安装版本及其区别

2,610 阅读2分钟

如果想要创建一个vue项目,一般可以使用vue-cli,或者是自己用webpack配置,还有就是可以去codesandbox创建一个项目后下载

1. vue-cli

安装

$ yarn global add @vue/cli

创建项目

$ vue create ./path

基础配置

这里可以选择default默认配置也可以自己配置

以上只是个人学习用配置,详细功能可去官网查询

打开预览

$ cd ./path
$ yarn serve
//yarn 脚本 写在package.json中

2. vue的两个版本

  • vue.js
  • vue.runtime.js

这两个版本的主要区别是前者是完整版,功能更多,但是体积大,而后者是非完整版,功能缺少了conpiler但是体积小了40%左右,具体的区别还有vue实例的使用上

(1)从HTML得到视图

这是完整版vue才有的功能,这里我们要先说一下如何引入完整版

1.从bootcdn引入

直接搜索bootcdn中的vue,然后注意下载这两个版本,min.js 是生产环境版,体积更小

2.webpack中import 引入

import Vue from '../node_modules/vue/dist/vue.js'

注意这里使用的是绝对路径了,如果直接import "vue"则默认引入非完整版,或者可以你可以选择配置一个别名alias

webpack.config.js中配置:

resolve: {

    alias: {"vue$":"vue/dist/vue.js"}

}

现在我们已经可以直接在HTML中写入想要渲染的元素了

<html>
<div id="appid">
</div>
</html>
js部分
new Vue({
    el:"#appid",
    template:`
    <div>
    {{x}}
    </div>
    `
    data:{
        x:000
    }
})

这里是能直接从HTML文件中获取到需要渲染的元素,这就是因为完整版有预编译组件,能把template中的html字符串转换成真实的DOM节点

(2)用JS构建视图

非完整版就没有上述功能,所以我们需要自行用一个h函数来把html文件用参数的形式传个这个函数

render(createElement){
    const h=createElement
    return h("div",[this.n,h("button",{on:{click:this.add}},"+1")])
  },
  data:{
    n:0
  },
  methods:{
    add(){
      this.n+=1
    }
  }

这里的createElement是一个函数,官方文档中是h函数,他可以将传入的参数转换成DOM节点,但是这种写法简直反人类,所以就有了第三种方法

(3)vue-loader

vue-loader就可以将vue文件转换成上述的h函数形式,我们只需要在vue文件中按格式将节点内容用html写好,并导出就可以了

$ yarn add vue-loader --save-dev

webpack额外配置rules

app.vue
<template>
  <div class="red">
      {{n}}
      <button @click="add">+1</button>
  </div>
</template>

<script>
//这里可以import "other.vue"
export default {
  data(){
      return {n:0}
  },
  methods:{
      add(){
      this.n+=1
      }
  }
}
</script>

<style scoped>
  .red{
      color:red
  }
</style>

这里要注意格式,一共3部分,template,script,style

import add from "./demo.vue"
new Vue({
el:"#app",
render(h){
 return h(add)
}

在js中只需要将文件导入,然后在vue实例中render就ok了,这样既可以让客户端的vue文件体积减小,在开发端又可以使用完整版的功能。vue实例相关下次再补充,注意vue实例并没有ajax方法,所以建议用axios实现

下面总结一下两种版本vue的区别

Vue 选项中的 render 函数若存在,则 Vue 构造函数不会从 template 选项或通过 el 选项指定的挂载元素中提取出的 HTML 模板编译渲染函数

3. 简单介绍下codesandbox.io的使用

1. 访问官网点击蓝色图标创建一个项目(注意别登陆)

2. 点击创建一个vue项目

3. 这样就得到了一个vue的项目,下载即可