Vue起手式

149 阅读3分钟

Vue作者:

  • 尤雨溪,英文名 Evan You。

本科就读于美国科尔盖特大学,艺术与艺术史专业,帕森设计学院艺术硕士,毕业后在Google Creative Lab担任UI相关工作后,后来转为全职JavaScript开发工程师,现为独立开发者。

  • 主要作品 Vue、Vue Router、Vuex、@vue/cli

项目搭建

目标一:搞出一个使用Vue的项目

  • 方法一:使用@vue/cli 安装vue-cli
yarn global add @vue/cli
或者
npm install -g @vue/cli

安装完后可以用 vue --version看版本号看安装是否成功

然后就可以使用vue create 目录名创建

  • 运行vue create 目录名步骤,ps:这次的选项只适合本次学习,如果是真实项目,请自行斟酌选项 请选择一个配置,自学的话推荐选默认的,我这里选择手动选择特性。

clipboard.png

上下键移动,空格选中CSS预处理,单元测试,完成回车。

clipboahrd.png

  • 这里用键盘上下,空格选中,选完了之后再按回车,如果选错了就按ctrl+c重来

clipboarnd.png

其他没截图的选择默认。默认文件分开放还是放在package.json。

Save this as a preset for future projects? (y/N)是否把刚才的选项作为未来项目的默认值,选择y意味着不用再改了,但是以后有改的可能不知道在哪改,建议n

这样就成功了

clipboardf.png

接着命令行start . (mac:open .)打开当前目录,把项目拖进VScode

打开终端运行yarn start打开链接运行成功。

微信图片_20220211173054.png 选择Vue

微信图片_20220211173202.png 完成,并且它是一个实时预览的环境

微信图片_20220211173318.png

如何使用Vue 实例

  • vue.js和vue.runtime.js的使用

方法一:从 HTML得到视图

可以从bootCDN通过script引用vue.js或 vue.min.js即可做到

也就是文档里说的完整版Vue。mvc视图没有写在js里面,直接写在了页面里面,引入后会得到一个全局变量。

也可以通过import引用vue.js或者vue.min.js

不同版本解释详情看文档这一节

方法二:用JS构建视图

还是看文档链接,使用vue.runtime.js(运行时版)

只要从html变成页面中的东西,完整版就支持,运行时版就不支持

实际上运行时版比完整版好一些,更独立,画图说明:

微信图片_20220211173838.png完整版会占用更多的代码体积,文档上也说了因为运行时版本相比完整版体积要小大约 30%,所以应该尽可能使用这个版本。

运行时版没有compiler,所以没有办法把html变成节点,但是可以用webpack进行翻译,使用vue-loader

方法三:使用vue-loader

可以把.vue文件翻译成h(createElement)构建方法,单文件组件

深入理解两种区别

完整版功能强,体积大;

运行时版功能弱,体积小,但是通过webpack可以让写的时候像是用完整版,但用户下载只下载运行时版。

用一个表再来看看两个版本的具体区别吧

微信图片_20220211174307.png

  • 完整版

对应文件名:vue.js ; vue.min.js 。可以从HTML或template直接得到视图,有compiler编译器,可以将含有占位符{{ }}或者条件语句变成真实的DOM节点,后面再修改会直接修改DOM节点无需再编译一遍,但compiler比较复杂会占用一定体积。

  • 运行时版

对应文件名:vue.runtime.js ; vue.runtime.min.js。没有compiler,不能将HTML变成节点。webpack通过vue-loader(在yarn build里已设置)会调用compiler将html变成h(‘div’,this.n)。

最佳实践

总是使用运行时版,然后配合vue-loader和vue文件

思路: 保证用户体验,用户下载的JS文件体积更小,但只支持h函数

保证开发体验,开发者可直接在vue文件里写HTML标签,而不写h函数

脏活让loader做,vue-loader把 vue文件里的HTML转为h函数