Vue CLI相关
Vue CLI
基本介绍
- 如果你只是简单写几个Vue的Demo程序, 那么你不需要Vue CLI。
- 如果你在开发大型项目, 那么你需要, 并且必然需要使用Vue CLI。
- 使用Vue.js开发大型应用时,我们需要考虑代码目录结构、项目结构和部署、热加载、代码单元测试等事情。
- 如果每个项目都要手动完成这些工作,那无疑效率比较低效,所以通常我们会使用一些脚手架工具来帮助完成这些事情。
CLI是什么意思?
CLI是Command-Line Interface, 翻译为命令行界面, 但是俗称脚手架。
Vue CLI是一个官方发布 vue.js 项目脚手架。
使用 vue-cli 可以快速搭建Vue开发环境以及对应的webpack配置。
安装脚手架
使用前提:安装Node和Webpack
关于旧版本
Vue CLI 的包名称由
vue-cli
改成了@vue/cli
。 如果你已经全局安装了旧版本的vue-cli
(1.x 或 2.x),你需要先通过npm uninstall vue-cli -g
或yarn global remove vue-cli
卸载它。如果卸载不了旧版本,像我使用npm卸载2.9.6版本太久甚至没反应,可以使用cnpm卸载,具体命令参考我的webpack详解中的2.1。Node 版本要求
Vue CLI 4.x 需要 Node.js v8.9 或更高版本 (推荐 v10 以上)。
可以使用下列任一命令安装这个新的包
npm install -g @vue/cli
或yarn global add @vue/cli
可以用这个命令来检查其版本是否正确:
vue --version
Vue CLI2
创建旧版本的2.x模板
上面安装的是Vue CLI 4.x的版本,如果需要想按照Vue CLI2的方式初始化项目时不可以的。
- Vue CLI2创建项目命令:
vue init webpack my-project
- Vue CLI>=3创建项目命令:
vue create my-project
目录结构详解
Vue程序运行过程
Runtime-Compiler和Runtime-only的区别
在使用 vue-cli 脚手架构建项目时,会遇到一个构建选项 Vue build,有两个选项:Runtime + Compiler和Runtime-only:
Runtime + Compiler: recommended for most users
运行程序+编译器:推荐给大多数用户
Runtime-only: about 6KB lighter min+gzip, but templates (or any Vue-specificHTML) are ONLY allowed in .vue files - render functions are required elsewhere
仅运行程序: 比上面那种模式轻大约 6KB min+gzip,但是 template (或任何特定于vue的html)只允许在.vue文件中使用——其他地方用需要 render 函数
两种模式生成的区别只有在 main.js 中,其他都是一样的:
- Runtime + Compiler中是使用 template + component
- Runtime-only则是使用 render 函数
Runtime + Compiler 中 Vue 的运行过程:
(1)首先将vue中的模板解析成abstract syntax tree (ast)抽象语法树
(2)将抽象语法树再编译成render函数
(3)将render函数再转换成virtual dom,也就是虚拟dom
(4)最后将虚拟dom显示在浏览器上
而 Runtime-only 只需2步:
(1)将render函数再转换成virtual dom,也就是虚拟dom
(2)最后将虚拟dom显示在浏览器上
简单总结:
Runtime-only 比 Runtime-Compiler 轻 6kb,因为少了编译器
Runtime-only 运行更快,因为它少了编译的环节
Runtime-only 只能识别render函数,不能渲染template,
.vue
文件中的template也是被vue-template-compiler
编译成了render函数如果在之后的开发中,你依然使用template,就需要选择Runtime-Compiler
如果你之后的开发中,使用的是.vue文件夹开发,那么可以选择Runtime-only
render函数的使用
类型:(createElement: () => VNode) => VNode
Vue 选项中的 render
函数若存在,则 Vue 构造函数不会从 template
选项或通过 el
选项指定的挂载元素中提取出的 HTML 模板编译渲染函数。
npm run build
npm run dev
修改配置:webpack.base.conf.js起别名
这样起别名后,在引用文件的路径上可以用别名代替,例如:
.src/components/tabbar/TabBar可变为 ~components/tabbar/TabBar,以后移动代码或文件时,就不会因为忘记修改引用路径而报错。
~
只有js不用加,html和css要加。
Vue CLI3
vue-cli 3 与 2 版本有很大区别:
- vue-cli 3 是基于 webpack 4 打造,vue-cli 2 还是 webapck 3
- vue-cli 3 的设计原则是“0配置”,移除的配置文件根目录下的,build和config等目录
- vue-cli 3 提供了 vue ui 命令,提供了可视化配置,更加人性化
- 移除了static文件夹,新增了public文件夹,并且index.html移动到public中
创建项目
创建项目命令:
vue create my-project
目录结构详解
配置
- 通过图形化界面进行vue的配置和管理,启动配置服务器的命令:
vue ui
- 可以看到目录结构与2的相比少了配置目录,也就是没了build和config,配置文件都到了@vue模块里:
- 可以自定义vue.config.js
自定义配置:起别名
Vue CLI4
2020年11月9日01:27:38,目前我安装脚手架的最新版本为:4.5.8,与3.x的差异不大。