1684 words
8 minutes
Vue.js学习笔记

Web 全沾工程师的旅途

一、官网#

Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vue 都可以胜任。

vuejs.org What is Vue?

Vite(法语意为 “快速”,发音 /vit/,发音同 “veet”)是一种构建工具,旨在为现代 Web 项目提供更快、更精简的开发体验。

vitejs.dev What is Vite?

1.1 Vue2 和 Vue3 版本差异比较#

特性Vue2Vue3
构建工具webpackVite
IE11 支持×

二、创建一个 Vue 项目#

参考链接:Vue2 和 Vue3 共存方式 参考链接:Vue3.0 知识点

2.1 脚手架工具说明#

Vue2 项目创建脚手架请使用:npm i vue-cli@2.9.6

Vue3 项目创建脚手架请使用:npm i @vue/cli@5.0.8

但是,2022 年了,vue-cli在 npm 仓库中已经被标识为:deprecated

然后跟随引导尝试使用 @vue/cli ,又发现它的官网手册标注:

所以此处记录的两种安装方式已经成为历史,不再推荐使用。

最新的创建方式应该使用官方的脚手架工具:create-vue

Terminal window
# translate from https://github.com/vuejs/create-vue/blob/main/README.md
# 创建一个 Vue 3 项目:
npm create vue@3
# 或者,如果你需要支持 IE11,你可以创建一个 Vue 2 项目:
npm create vue@2
# 请注意,版本号(@3 或 @2)不得省略,否则 npm 可能会解析为包的缓存和过时版本。

之所以在文章中记录下来这件事是因为:

  • 仍然有许多项目或开源项目还在使用 Vue2 没有迁移到 Vue3
  • 工作中有许多脚手架项目(指需求业务上的脚手架)已经基于 Vue2 封装的很成熟了,属于拿来改改就能交工的项目,迁移到 Vue3 的精力、维护成本较高。

2.2 Vue2.0#

▼ 2.2.1 create-vue 创建 Vue 2 项目 (推荐)#

执行命令:npm create vue@2

这是文章记录时官方最新的脚手架工具,推荐使用。

使用 create-vue 创建 Vue 2 项目

▼ 2.2.2 vue-cli@2.9.6 创建 Vue 2 项目#

执行命令:vue2 init webpack pro

这是 Vue 2.0 时期最早的脚手架工具。其中 vue2 命令来自于本地安装 vue-cli@2.9.6 之后,手动将命令行文件更名为 vue2 并添加到系统环境变量中得到的。

使用 vue2 init webpack vue2-webpack-demo 创建 Vue 2 项目


2.3 Vue3.0#

▼ 2.3.1 create-vue 创建 Vue 3 项目 (推荐)#

执行命令:npm create vue@3

这是文章记录时官方最新的脚手架工具,推荐使用。

使用 create-vue 创建 Vue 3 项目

▼ 2.3.2 @vue/cli@5.0.8 创建 Vue 3 项目#

执行命令:vue3 create vue3-cli-demo

其中 vue3 命令来自于本地安装 @vue/cli@5.0.8 之后,手动将命令行文件更名为 vue3 并添加到系统环境变量中得到的。

这个命令在创建项目的第一步,也可以选择创建 vue2 的项目;第二步选择默认包管理器:[yarn, npm]


2.4 各个脚手架出现的时间顺序#

顺序工具对应版本构建工具命令
1vue-clivue2webpackvue init webpack project-name
2@vue/clivue2+3vue-cli-servicevue create project-name
3create-vuevue2+3vitenpm create vue@2
npm create vue@3

说明:

  1. 交互式命令行,只能创建 vue2,因为此时正处于 vue2 的发展时代
  2. 交互式命令行,第一步可以选择项目创建版本
  3. 交互式命令行,通过命令区分项目创建版本

2.5 Vue DevTools Github#

这是一款浏览器插件形式的工具,依据 Vue DevTools 官方手册 给出的链接,到你所使用的相应浏览器中下载安装插件即可。

▽ 以火狐浏览器为例,安装过后的界面如下所示:

安装过后,一般会在浏览器的工具栏右上部分的功能区出现一个经典的 Vue 图标。在插件探测到当前网页是 Vue 开发的情况下图标会”亮”起来,否则是灰色的。

在插件启用的情况下下,打开浏览器的开发者调试工具,会发现在最后多了一个 Vue 的标签页,在这里就可以进行调试工作了。

如果没有发现这个标签页,关闭开发者工具,再重新打开一次或多次尝试,我在使用火狐浏览器时遇到了这种情况。


Vue 导出 Excel 表格#

https://www.npmjs.com/package/xlsx#array-of-arrays-input https://zhuanlan.zhihu.com/p/338935767 https://blog.csdn.net/yhj198927/article/details/124269024 https://zhuanlan.zhihu.com/p/95984128 https://blog.csdn.net/ningjiebing/article/details/125209319 https://github.com/protobi/js-xlsx#cell-object

其他参考文章#

Vue-router 中 hash 模式和 history 模式的区别 Vue3 创建项目 确定有效 已声明“XXX”,但从未读取其值,vscode 如何关闭 ts 报错(xxx is declared but its value is never read.)

三、CDN 引入方式开发#

3.1 通过 CDN 引入的elementUivue —— 如何使用其内部相关方法#

本节内容节选自:https://blog.csdn.net/yehaocheng520/article/details/121137650

有些开发场景是并不是基于 Vue 脚手架创建的项目结构进行开发的,并且还是需要使用到elementui的提示信息,而非 window.alert()的提示信息。

在 js 文件中如何使用elementUI中的方法:#

我们先来看下elementUI中的 js 的源码:

elementUI 中的 js 的线上地址 (点击查看):https://unpkg.com/element-ui/lib/index.js

打开这个线上地址,看到满屏的 vue 的时候,就一定要清楚:elementUI 是跟 vue 一起使用的,而且引入elementUI一定要是在vue引入之后才可以。

而且代码开头处,有 define("ELEMENT"exports.ELEMENT,找不到可以Ctrl+F搜索查看。这个其实就是 element 的集合,所有使用的组件方法都可以直接通过ELEMENT去调用。

下面汇总一下使用方法:#

  1. 首先要引入 vue.js

未压缩版本

<script src="https://cdn.jsdelivr.net/npm/vue@2.7.14/dist/vue.js"></script>

minify 版本:

<script src="https://cdn.jsdelivr.net/npm/vue@2.7.14"></script>
  1. 引入 elementUI 的 css 和 js 文件
<!-- 引入样式 -->
<link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css" />
<!-- 引入组件库 -->
<script src="https://unpkg.com/element-ui/lib/index.js"></script>
  1. 需要在 body 闭合标签之前引入封装好的函数文件才可以生效,也就是为了能够在所有的标签渲染完成后再使用,这点要注意。

  2. 通过 cdn 引入的 elementUI,在使用 message.error 等方法时,需要通过下面的方式来调用:

ELEMENT.Message.error('错误');

其他方法同理

四、查漏补缺#

4.1 Vue3 开发时的注意事项#

· 语法部分#

  • 如下数据类型等引用,必须要确保在<script> 标签上加上lang="ts"

    <script lang="ts">
    export interface Dept {
    id: number;
    value: number;
    }
    function handleDeptSelect(v1: string | null, option: Dept) {
    console.log(`${v1}, ${option}`);
    }
    ...
    </script>
  • 想使用 Vue3 的最新写法 (就是不使用原来的export default { }) 写法,请记得要在 <script> 标签中,加上 setup

    <script lang="ts" setup>
    </script>
Vue.js学习笔记
https://blog.doracoin.cc/posts/2022/2022-10-19-vue-js学习笔记/
Author
Doracoin
Published at
2022-10-19
License
CC BY-NC-SA 4.0