Vue CLI2与Vue CLI3的使用,以及runtime compiler和runtime only的区别

一.什么是Vue CLI

  1. 当在开发大型项目时,必然需要使用Vue CLI,俗称脚手架
  2. 我们使用vue-cli可以快速搭建Vue开发环境以及对应的webpack配置

二.Vue CLI的使用

  • 安装Vue脚手架,在终端输入指令npm install -g @vue/cli,此时安装的是Vue CLI3版本
  • 如果我们希望在脚手架3的基础上仍然可以使用脚手架2,则需要在终端接着输入npm install @vue/cli-init -g,完成后我们就可以既用脚手架2又可以使用脚手架3
  • Vue CLI2初始化项目,在终端输入vue init webpack 项目名称
  • Vue CLI3初始化项目,在终端输入vue create 项目名称

当完成以上初始化项目指令后,系统会弹出一些信息让我们输入,一旦输入完成,将自动创建文件夹
在这里插入图片描述
如果在上图填写信息的过程中,出现填写错误,我们可以在config文件夹下的index.js文件中,找到对应的信息进行更改即可。

  • 对于ESlint规范,通常根据项目要求来选择yes/no,一般选择no

三.runtime compiler和runtime only的区别

两者区别体现在main.js文件中:在complier的main.js文件中,Vue实例内部需要先注册组件,然后设置模板;而在only的main.js文件中,直接用render函数代替了这两个过程。

  • runtime compiler中包含template模板,它的解析是将:template->ast(抽象语法树)->render函数->virtaul dom->真实DOM
  • 而runtime only中,是直接将render函数->vdom->真实DOM,所以相比之下,runtime only的性能更高且代码量更小

1.render函数的普通用法:变量名('标签',{标签的属性},['内容'])

new Vue({
	el:"#app",
	render: function (createElement) {
		return createElement('h2',{class='box'},['你好啊'])
		// 即相当于<h2 class='box'>你好啊</h2>
	}
})

2.传入组件对象

new Vue({
	el:"#app",
	render: function (createElement) {
		return createElement(cpn)
	}
})
  • 我们知道runtime only是不能解析template模板的,而.vue文件中是包含template的,那么.vue文件中的template是由谁处理的呢?
  • 答:是由vue-template-compiler。在webpack中如果想运行.vue文件,就一定需要npm安装vue-template-compiler,而它可以将所有的template转成render函数,因此在开发中所有的vue组件内部都会将template转化。

四.Vue CLI3

在运行Vue CLI3脚手架时,用npm run serve执行,可以在package.json文件中查看
且在main.js文件中,Vue实例的内容会发生变化:
在这里插入图片描述
这里的.$mount(’#app’)实际上和el:’#app’差别不大

1.在脚手架3中,隐藏了配置文件(config和build文件夹),故如果希望找到配置文件,可以在终端执行npm ui,此操作将打开一个配置服务器

2.或者我们可以在node_modules文件夹下@vue文件夹内找到隐藏的配置文件

3.如果确实需要改一些配置,也可以自己在根目录下创建vue.config.js文件,在文件中,通过module.exports={}来修改配置,文件名字不能随便起

  • 当修改完成后,需要在终端执行git add .git status 最后git commit -m '修改配置文件'
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将 Vue 2 代码转换为 Vue 3,有一些需要注意的变化和新特性。以下是一些关键的变化和步骤: 1. 更新 Vue CLI 首先要确保你的 Vue CLI 版本是最新的。可以通过以下命令更新: ``` npm install -g @vue/cli ``` 2. 创建一个新的 Vue 3 项目 使用 Vue CLI 创建一个新的 Vue 3 项目,可以选择使用 TypeScript 或 JavaScript: ``` vue create my-project ``` 3. 使用新的语法和组件 在 Vue 3 中,一些语法和组件的名称有所改变。以下是一些关键的变化: - Options API 改为 Composition API,使用 setup() 函数代替 beforeCreate() 和 created() 钩子函数; - v-bind: 改为 :; - v-on: 改为 @; - v-if 和 v-for 不再支持同一元素上的并存,需要使用 <template> 包裹; - $el 和 $refs 在模板中不再可用,可以使用 ref() 函数代替 $refs,使用 template refs 代替 $el; - filter() 和 directive() 方法已被移除,可以使用 app.component() 和 app.directive() 代替; - keep-alive 组件的 include 和 exclude 属性改为 include 和 excludeProps。 4. 更新依赖和插件 需要更新一些旧的依赖和插件,以适应 Vue 3 的新特性: - vue-router、vuex、vue-i18n、axios 等插件需要更新到最新版本,以支持 Vue 3; - vue-class-component 和 vue-property-decorator 库已被废弃,可以使用 @vue/runtime-core、@vue/reactivity、@vue/compiler-sfc 等新库代替; - vuedraggable 库需要更新到 vuedraggable@^2.0.0-beta.8,以支持 Vue 3。 5. 进行渐进式迁移 如果你的项目很大,可能需要逐步迁移,而不是一次性全部迁移。可以先将一些组件或功能迁移到 Vue 3,然后测试和调试,确保没有问题后再进行下一个迁移步骤。 以上是一些关键的步骤和变化,需要根据具体项目进行调整和修改。可以参考官方文档了解更多关于 Vue 3 的变化和新特性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值