Vue3.0尝鲜体验
Vue3.0
尝鲜体验。
这次来体验下Vue3.0
。
首先我们去vue3.0
的github
仓库:
区别
最近也在看Vue3.0
中关于reactivity
包的源码,感觉挺新奇的。
Vue2
对属性改变的监听用的是Object.defineProperty
,需要遍历每个对象的每个属性。
而Vue3
用的是Proxy
,监听的为整个对象,而且对数组的支持更好了。
最最最重要的是Vue3
完全由TypeScript
开发,而且也支持通过TypeScript
来编写组件,相当的香。
在Vue2
的时候,整个项目完全使用了JavaScript
进行编写,为了能够支持静态类型检查,而引入了flowjs
,不使用TypeScript
的原因是重构成本过高,而flowjs
可以平滑的引入的项目中。
不过随着TypeScript
的发展,VSCode
的出现,以及ECMAScript
规范的不断更新,Vue3
就基本完全使用TypeScript
来编写了。
想当初使用React
也是因为支持TypeScript
(复杂TypeScript
用法我也不会 🤣,只能写写基本类型定义这个样子。
编译 Vue-next 项目生成库文件
电脑必须有node
的环境,如果不知道有没有的可以在cmd
输入node -v
来查看。
先把项目给克隆到本地,我们的目的就是用过构建这个项目来生成一个Vue.js
的js
库,然后使用它。
git clone https://github.com/vuejs/vue-next.git
然后我们就在本地有了一份Vue-next
的源码。
IDE
推荐用idea
或者VSCode
,使用起来非常舒服。
在控制台输入以下命令:
yarn
此命令用于安装依赖,注意是在文件夹的内部使用,如果没有安装yarn
,可以使用npm install
来执行。
接着我们可以看看package.json
里面的script
命令。
发现有挺多的,但是我们只要运行第一条命令即可,dev
命令会在package/vue/dist
下生成vue.global.js
的文件,这个就是开发环境下的文件了。
yarn dev
没有yarn
的,运行npm run dev
的效果是一样的。
这样就得到了一个可以通过script
引入的库文件了。
新建项目来使用生成的库文件
新建一个文件夹,我这边的命名为vue3
,我们的目的是搭建一个node
的服务器来,然后通过html
文件来引入js
库来使用Vue3
。
- 运行
npm init
来初始化项目; - 把生成的库文件找个地方放起来,我这边是建了个
lib
的文件夹; - 建个
html
文件夹来存放我们的 html 文件。
上面做完后,目录大致和下面一样:
有node_modules
文件夹是因为使用了一些依赖,下面讲。
接下来使用Koa
来搭建一个静态的服务器。
先引入依赖:
- 运行
yarn add koa
或者npm install koa
; - 运行
yarn add koa-static
或者npm install koa-static
。
koa
是一个node
平台的web
框架,使用了async
和await
的语法,挺不错的。
但是我们基本用不到这些语法,因为我们主要是当作静态资源服务器,只要简单的配置就可以使用。
koa-static
用于处理静态资源。
我们在项目的根目录下建立全局入口文件index.js
。
1 | // 导入依赖 |
接下来我们在 html 文件夹下面新建一个vue.html
来使用Vue3
:
1 |
|
到此,静态服务器搭建完成。
- 运行
node index.js
; - 浏览器打开
localhost:3030/html/vue.html
就可以看到我们的网页了。
然后我们在控制台可以输入component.data.msg = 'Hello lwf'
就可以观察到视图发生变化了。
更多的Api
可以看下面的网站。