vue-cli学习二:vue-cli3版本 创建vue项目后,Runtime-Compiler和Runtime-only两个模式详解;vue项目管理器;配置文件的配置在哪,以及如何配置

简介: 这篇文章详细介绍了Vue CLI 3版本创建项目时的Runtime-Compiler和Runtime-only两种模式的区别、Vue程序的运行过程、render函数的使用、eslint的关闭方法,以及Vue CLI 2和3版本配置文件的不同和脚手架3版本创建项目的配置文件配置方法。

前言

一、Runtime-Compiler和Runtime-only两个模式

1. 模式来源

创建项目时需要选择一个模式,就是这两个模式之一 runtimecompilerruntimeonly ,如下所示
在这里插入图片描述

2. 案例显示

使用脚手架2版本 vue init webpack project-name新建两个项目,如图
在这里插入图片描述
01 选择的是 Runtime+Compiler
02 选择的事 Runtime-only

3. 区别

模式不同主要体现在两个项目中的 main.js 中的不同,如下:
01_runtimecompiler项目
在这里插入图片描述
02_runtimeonly项目
在这里插入图片描述

4. 引发思考

引发思考:为什么存在这样的差异呢?

  1. 我们需要先理解Vue应用程序是如何运行起来的。
  2. Vue中的模板如何最终渲染成真实DOM。
  3. 我们来看下面的一幅图:vue 程序运行过程

二、Vue程序运行过程和原因

在这里插入图片描述
运行过程解析

  1. template的模板存放到 vue 的 option 中,
  2. 然后 parse(解析) 成 ast(abstract syntax tree 抽象语法树)
  3. 在编译,然后使用 render() 方法
  4. 通过render() 生成 虚拟dom ,在展现成 UI。
  5. 总结下:template -> ast -> render -> vdom -> UI

综上所述,区别如下:
通过 上面了解到, 两个模式的区别如下:

 runtime-compiler(v1)
 template -> ast -> render -> vdom -> UI

 runtime-only(v2)(1.性能更高 2.下面的代码量更少)
 render -> vdom -> UI

可以看到 runtime-only 比 Runtime+Compiler 1. 性能更高 2.下面的代码量更少

当然: runtime-compiler 模式中,也可以使用 render() 函数,看本项目的 main.js 即可。

注意runtime-compiler模式下,也可以使用 render 函数进行开发
推荐使用 第一个。但是在以后项目开发时,推荐使用第二个,因为 1.性能更高 2.下面的代码量更少

三、render 函数使用

1. 使用方式一

在这里插入图片描述
在这里插入图片描述

2. 使用方式二

这里的 cpn 组件,也就是后来的 APP 组件。
在这里插入图片描述

四、eslint 关闭

01_runtimecompiler\config\index.jsuseEslint 属性,true 开启, false 关闭

五、脚手架2和3版本的配置文件

1. 脚手架2版本

  1. 先看下脚手架2版本创建的项目目录
    在这里插入图片描述
  2. 有两个文件夹,build 和 config 。里面都是配置文件
  3. 先看package.json 里面的 script 脚本,如下:
    在这里插入图片描述
  4. 可以看到对应的配置文件,里面又会引入其他配置文件。

2. 脚手架3版本

  1. 先看下脚手架3版本创建的项目目录,03是命令式创建,04是 可视化工具创建
    这里没有配置文件的文件夹。
    在这里插入图片描述
  2. 先看下 package.json,这里并没有配置文件路径。
  3. 说明脚手架3版本创建的项目把配置文件给隐藏了,
    隐藏路径:04-vuecli3test/node_modules/@vue/cli-service/webpack.config.js
  4. 如何修改配置呢,继续往下看

六、vue项目管理器

  1. 通过命令 vue UI 进行启动服务 vue项目管理器。

  2. 有三个模块:项目、创建、导入

    • 项目:vue项目管理器 进行管理 通过脚手架创建的项目
    • 创建脚手架3版本 可视化创建vue项目
    • 导入: 没有通过脚手架3版本可视化创建的项目,是不会出现在项目模块中,可以通过导入进行使用 vue项目管理器 进行管理
      在这里插入图片描述
  3. 点击项目,就进入了项目的管理界面,如下:
    在这里插入图片描述

  4. 分析项目界面的五个模块

    • 仪表盘:没什么好说的
    • 插件: 可以看到已经安装的插件,也可以进行安装新插件
    • 依赖: 可以看到已经安装的依赖包,也可以在此安装新依赖包,如axios、vue-router等
    • 配置: 一些webpack的配置
    • 任务: 启动项目等操作,对应 package.jsonscript 脚本操作。

七、脚手架3版本创建项目的配置文件配置

有三种 方式

1. vue项目管理器配置

通过 vue UI 命令启动 vue项目管理器 服务。
配置中修改,这里其实就是替换了项目中的webpack.config.js如下: 在这里插入图片描述

2. 脚手架2版本配置

  1. 脚手架2版本中,有两个文件build 和config 存放配置文件,
  2. 而在脚手架3版本中,是没有这两个配置文件的,而在被隐藏了
  3. 隐藏路径:04-vuecli3test/node_modules/@vue/cli-service/webpack.config.js
  4. webpack.config.js 文件中又引入了其他文件。一层层的去调用和引用

3. vue.config,js

在项目根目录下创建配置文件 vue.config,js, 作为额外的 配置文件内容。
里面的内容会和 隐藏起来的配置文件内容 进行合并。
文件名称固定,不可以更改。

相关文章
|
4天前
|
JavaScript 前端开发 UED
vue学习第二章
欢迎来到我的博客!我是一名自学了2年半前端的大一学生,熟悉JavaScript与Vue,目前正在向全栈方向发展。如果你从我的博客中有所收获,欢迎关注我,我将持续更新更多优质文章。你的支持是我最大的动力!🎉🎉🎉
|
4天前
|
JavaScript 前端开发 开发者
vue学习第一章
欢迎来到我的博客!我是瑞雨溪,一名热爱JavaScript和Vue的大一学生。自学前端2年半,熟悉JavaScript与Vue,正向全栈方向发展。博客内容涵盖Vue基础、列表展示及计数器案例等,希望能对你有所帮助。关注我,持续更新中!🎉🎉🎉
|
JavaScript Java 物联网
现有vue项目seo优化
现有vue项目seo优化
|
JavaScript 前端开发
重读vue电商网站45之项目优化上线
重读vue电商网站45之项目优化上线
132 0
重读vue电商网站45之项目优化上线
|
5天前
|
JavaScript 前端开发
如何在 Vue 项目中配置 Tree Shaking?
通过以上针对 Webpack 或 Rollup 的配置方法,就可以在 Vue 项目中有效地启用 Tree Shaking,从而优化项目的打包体积,提高项目的性能和加载速度。在实际配置过程中,需要根据项目的具体情况和需求,对配置进行适当的调整和优化。
|
5天前
|
存储 缓存 JavaScript
在 Vue 中使用 computed 和 watch 时,性能问题探讨
本文探讨了在 Vue.js 中使用 computed 计算属性和 watch 监听器时可能遇到的性能问题,并提供了优化建议,帮助开发者提高应用性能。
|
5天前
|
存储 缓存 JavaScript
如何在大型 Vue 应用中有效地管理计算属性和侦听器
在大型 Vue 应用中,合理管理计算属性和侦听器是优化性能和维护性的关键。本文介绍了如何通过模块化、状态管理和避免冗余计算等方法,有效提升应用的响应性和可维护性。
|
5天前
|
存储 缓存 JavaScript
Vue 中 computed 和 watch 的差异
Vue 中的 `computed` 和 `watch` 都用于处理数据变化,但使用场景不同。`computed` 用于计算属性,依赖于其他数据自动更新;`watch` 用于监听数据变化,执行异步或复杂操作。
|
6天前
|
存储 JavaScript 开发者
Vue 组件间通信的最佳实践
本文总结了 Vue.js 中组件间通信的多种方法,包括 props、事件、Vuex 状态管理等,帮助开发者选择最适合项目需求的通信方式,提高开发效率和代码可维护性。
|
6天前
|
存储 JavaScript
Vue 组件间如何通信
Vue组件间通信是指在Vue应用中,不同组件之间传递数据和事件的方法。常用的方式有:props、自定义事件、$emit、$attrs、$refs、provide/inject、Vuex等。掌握这些方法可以实现父子组件、兄弟组件及跨级组件间的高效通信。