vue-cli2和cli3的使用和区别
vue-cli脚手架的使用
- 使用vue-cli可以快速搭建vue的开发环境,和webpack的配置
- 安装vue脚手架: npm install -g@vue/cli
- 上面安装的是vue cli3的版本,如果需要想按照vue cli2的方式初始化项目是不可以的,我们必须要拉取2.x的模板,需要安装全局的桥接工具(官方查看)
- Vue CLI2 初始化项目
vue init webpack my-project
- Vue CLI3 初始化项目
vue create my-project
CLI 2 的使用
初始化项目:web init webpack mytest(根据这个创建项目文件名),初始化出现配置选项:
//项目名称
Project name ...
//作者的信息,会默认从git中读取信息
Project description ...
Author ...
//vue创建的选项 1.runtime-compiler 2.runtime-only
vue build ...(一般选runtime-only)
//是否安装vue-router
Install vue-router? ..
//是否使用ESLint检测代码规范
use ESLint to link your code
//是否写单元测试 (一般不使用)
Set up unit tests
//是否使用Nightwatch来进行e2e测试 (2代表to e to e 点对点)
Setup e2e test with Nightwatch?
//使用npm或者yarn包管理工具
use npm
use yarn
Runtime-Compiler
和Runtime-only
的区别
runtime-compiler(v1)
(运行过程)): template -> ast -> render -> vdom -> UIruntime-only
(v2 1.性能更高, 2.代码量更少):render -> vdom -> UI- 那.vue文件中的template是由谁处理的呢? 是由vue-template-compiler这个开发时 工具依赖来处理的,他将.vue文件解析成了render函数,解析之后,是没有tamplate这个 东西的
- 总结:
- 如果在开发中,依然使用template,就需要选择Runtime-Compiler
- 如果在开发中,使用的是.vue文件夹开发,那么可以选择Runtime-Only
- render函数的使用
new Vue({
el:'#app',
render:(createElement) =>{
//使用方式一:
return createElement('标签','相关数据对象(可以不传)',['内容数组'])
//1.1render函数的基本使用
return createElement('div',{class:'box'},['xiaohuang'])
//1.2嵌套render函数
return createElement('div',{class:'box'},['小黄',createElement('h2',['标题啊'])])
}
})
`Runtime-Compiler`和`Runtime-only`在main.js中的不同使用: 1.`Runtime-Compiler`中
const cpn =Vue.component('cpn',{
template:'<div>我是cpn组件 </div>',
data(){
return{ }
}
}) 2.`Runtime-only`中
new Vue({
el:'#app'
render:(createElement)=>{
//使用方法二:传入一个组件对象
return createElement(cpn)
}
})
CLI 3的使用
- 初始化项目:vue create my-project
//选择一个配置方式
please pick a perset (一般选最后一个Manually select features(手动选择特性) )
//选择对于你的工程所需要的特性 (用空格选择)
check the features needed for your project
//对应的配置文件单独生成还是放在package.json里
where do you prefer placing config for babel
//要不要把刚才自己选择的配置保存下来
save this as a preset for future projects?
- pubilc文件相当于CLI2中的static目录
- 配置都去哪里了,可以启动配置服务器
vue ui
查看(全局命令)
vue-cli2和cli3的使用和区别的更多相关文章
- Vue与React两个框架的区别对比
简单介绍 React--Facebook创建的JavaScript UI框架.它支撑着包括Instagram在内的大多数Facebook网站.React与当时流行的jQuery,Backbone.js ...
- vue中extend/component/mixins/extends的区别
vue中extend/component/mixins/extends的区别 教你写一个vue toast弹窗组件 Vue.extend构造器的延伸
- vue路由传值params和query的区别
vue路由传值params和query的区别1.query传参和接收参数传参: this.$router.push({ path:'/xxx' query:{ id:id } })接收参数: this ...
- vue/cli2.0优化
vue/cli2.0 脚手架 在项目写完了之后, 运行npm run build --report可以看出这个项目的资源占比情况.可以看出整个项目哪一个资源在整个项目占比最大.它会自动打开一个可视化的 ...
- vue中methods、computed、watch区别
vue中methods.computed.watch区别methods:事件调用的钩子 computed:{ // 计算属性是根据他依赖的值计算的,当依赖值发生变化,其跟着改变 // 计算属性是依赖缓 ...
- vue中的$router 和 $route的区别
最近在学习vue的单页面应用开发,需要vue全家桶,其中用到了VueRouter,在路由的设置和跳转中遇到了两个对象$router 和 $route ,有些傻傻分不清,后来自己结合网上的博客和自己本地 ...
- 【面试题】Vue中的$router 和 $route的区别
Vue中的$router 和 $route的区别 点击视频讲解更加详细 this.$route:当前激活的路由的信息对象.每个对象都是局部的,可以获取当前路由的 path, name, params, ...
- Vue CLI3和Vue CLI2环境搭建
关于 Vue CLI 旧版本的安装以及创建项目 1.搭建 vue 的开发环境 ,安装 vue 的脚手架工具 官方命令行工具 npm install --global vue-cli / cnpm in ...
- Vue 中 export及export default的区别
相信很多人都在vue使用过export.export default.import,然而它们到底有什么区别呢? 在ES6中,export与export default均可用于导出常量.函数.文件.模块 ...
随机推荐
- 016_List/Set/Map
先写一下3这种遍历方法 for循环 List<Teacher> list = new ArrayList<>(); list.add(new Teacher("张三& ...
- JS基础-BOM
BOM BOM 是 browser object model 的缩写, 简称浏览器对象模型. 主要处理浏览器窗口和框架, 描述了与浏览器进行交互的方法和接口, 可以对浏览器窗口进行访问和操作, 譬如可 ...
- 【Visual Studio Code】插件
[Visual Studio Code]插件 转载:https://www.cnblogs.com/yangchongxing/p/10625628.html 目录 ================= ...
- PHP ftp获取目录内容为空
使用PHP的ftp函数获取目录内容,ftp_nlist()和ftp_rawlist()返回都为空. 查了一圈资料找不到答案,然后用Python写了一个,一样的操作就可以获取目录内容. 抓包发现,Pyt ...
- Linux Bash之正则表达式
首先注意:正则表达式与通配符是完全不同的概念.通配符(wildcard)代表的是 Bash 操作接口的一个功能,而正则表达式是一种字符串处理的表示方式,一定要区分开来. 正则表达式(Regular E ...
- Tomcat系列(一)- 整体架构
整体架构 我们想要了解一个框架,首先要了解它是干什么的,Tomcat我们都知道,是用于处理连接过来的Socket请求的.那么Tomcat就会有两个功能: 对外处理连接,将收到的字节流转化为自己想要的R ...
- Fuchsia文章汇总
今日,windows时代的十年已经过去,android/ios时代的十年也行将结束,下一个十年是谁的十年? 操作系统做为软件的基石,做为基础服务的基础,因为各层应用框架的层层封装,正在变的越来越透明, ...
- 4. abp中的asp.net core模块剖析
相关模块 AbpAspNetCoreModule AbpAspNetCoreMvcModule AbpAspNetCoreMvcContractsModule abp通过这三个模块加载并配置了 asp ...
- c++-友元函数和友元类
友元函数 友元函数和友元类(破坏类的封装性) 面向对象编程思想 #define _CRT_SECURE_NO_WARNINGS #include <iostream> #include & ...
- utf8和utf8mb4的区别
一.简介 MySQL在5.5.3之后增加了这个utf8mb4的编码,mb4就是most bytes 4的意思,专门用来兼容四字节的unicode.好在utf8mb4是utf8的超集,除了将编码改为ut ...