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:这次的选项只适合本次学习,如果是真实项目,请自行斟酌选项 请选择一个配置,自学的话推荐选默认的,我这里选择手动选择特性。
上下键移动,空格选中CSS预处理,单元测试,完成回车。
- 这里用键盘上下,空格选中,选完了之后再按回车,如果选错了就按ctrl+c重来
其他没截图的选择默认。默认文件分开放还是放在package.json。
Save this as a preset for future projects? (y/N)是否把刚才的选项作为未来项目的默认值,选择y意味着不用再改了,但是以后有改的可能不知道在哪改,建议n
这样就成功了
接着命令行start . (mac:open .)打开当前目录,把项目拖进VScode
打开终端运行yarn start打开链接运行成功。
- 方法二:还可以使用codesandbox.io直接在线创建一个vue的项目。 打开网站:codesandbox.io/,不要登录
选择Vue
完成,并且它是一个实时预览的环境
如何使用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变成页面中的东西,完整版就支持,运行时版就不支持
实际上运行时版比完整版好一些,更独立,画图说明:
完整版会占用更多的代码体积,文档上也说了因为运行时版本相比完整版体积要小大约 30%,所以应该尽可能使用这个版本。
运行时版没有compiler,所以没有办法把html变成节点,但是可以用webpack进行翻译,使用vue-loader
方法三:使用vue-loader
可以把.vue文件翻译成h(createElement)构建方法,单文件组件
深入理解两种区别
完整版功能强,体积大;
运行时版功能弱,体积小,但是通过webpack可以让写的时候像是用完整版,但用户下载只下载运行时版。
用一个表再来看看两个版本的具体区别吧
- 完整版
对应文件名: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函数