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 的使用

  1.  初始化项目: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
  2. Runtime-CompilerRuntime-only的区别

  • runtime-compiler(v1)(运行过程)): template -> ast -> render -> vdom -> UI
  • runtime-only(v2 1.性能更高, 2.代码量更少):render -> vdom -> UI
  • 那.vue文件中的template是由谁处理的呢? 是由vue-template-compiler这个开发时 工具依赖来处理的,他将.vue文件解析成了render函数,解析之后,是没有tamplate这个 东西的
  1. 总结:
  • 如果在开发中,依然使用template,就需要选择Runtime-Compiler
  • 如果在开发中,使用的是.vue文件夹开发,那么可以选择Runtime-Only
  1. 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的使用

  1. 初始化项目:vue create my-project
  2.  //选择一个配置方式
    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?
  3. pubilc文件相当于CLI2中的static目录
  4. 配置都去哪里了,可以启动配置服务器 vue ui 查看(全局命令)

vue-cli2和cli3的使用和区别的更多相关文章

  1. Vue与React两个框架的区别对比

    简单介绍 React--Facebook创建的JavaScript UI框架.它支撑着包括Instagram在内的大多数Facebook网站.React与当时流行的jQuery,Backbone.js ...

  2. vue中extend/component/mixins/extends的区别

    vue中extend/component/mixins/extends的区别 教你写一个vue toast弹窗组件 Vue.extend构造器的延伸

  3. vue路由传值params和query的区别

    vue路由传值params和query的区别1.query传参和接收参数传参: this.$router.push({ path:'/xxx' query:{ id:id } })接收参数: this ...

  4. vue/cli2.0优化

    vue/cli2.0 脚手架 在项目写完了之后, 运行npm run build --report可以看出这个项目的资源占比情况.可以看出整个项目哪一个资源在整个项目占比最大.它会自动打开一个可视化的 ...

  5. vue中methods、computed、watch区别

    vue中methods.computed.watch区别methods:事件调用的钩子 computed:{ // 计算属性是根据他依赖的值计算的,当依赖值发生变化,其跟着改变 // 计算属性是依赖缓 ...

  6. vue中的$router 和 $route的区别

    最近在学习vue的单页面应用开发,需要vue全家桶,其中用到了VueRouter,在路由的设置和跳转中遇到了两个对象$router 和 $route ,有些傻傻分不清,后来自己结合网上的博客和自己本地 ...

  7. 【面试题】Vue中的$router 和 $route的区别

    Vue中的$router 和 $route的区别 点击视频讲解更加详细 this.$route:当前激活的路由的信息对象.每个对象都是局部的,可以获取当前路由的 path, name, params, ...

  8. Vue CLI3和Vue CLI2环境搭建

    关于 Vue CLI 旧版本的安装以及创建项目 1.搭建 vue 的开发环境 ,安装 vue 的脚手架工具 官方命令行工具 npm install --global vue-cli / cnpm in ...

  9. Vue 中 export及export default的区别

    相信很多人都在vue使用过export.export default.import,然而它们到底有什么区别呢? 在ES6中,export与export default均可用于导出常量.函数.文件.模块 ...

随机推荐

  1. Python流程控制之循环结构

    目录 while循环 for循环 嵌套循环 break.continue.pass 练习 当出现有规律或者是重复的事情就可以使用循环. 1.循环变量初始化 2.循环条件 3.循环体 4.改变循环变量 ...

  2. VS编译命令

    一.前言 由于公司要求项目需要走CI构建平台,抛弃掉之前的人工编译打包方式,所以需要调研一下项目怎么通过命令行编译出产物. 二.准备工作 在构建机器上安装vs(本文示例为vs2017) 将代码上传版本 ...

  3. 小而美的GIF生成神器ScreenToGif

    起因 在写计算机图形学博客时,需要讲解一个算法,课本上抽象的语言未免让人读着头大,还在老师给的PPT中有代码的演示,我就想将演示做出GIF动图帮助读者理解算法,其实之前浪迹博客园的时候就发现有许多博主 ...

  4. java8新特性- 默认方法 在接口中有具体的实现

    案例分析 在java8中在对list循环的时候,我们可以使用forEach这个方法对list进行遍历,具体代码如下demo所示 public static void main(String[] arg ...

  5. django基础之day08,利用bulk_create 批量插入成千上万条数据

    bulk_create批量插入数据 models.py文件 class Book(models.Model): title=models.CharField(max_length=32) urls.p ...

  6. zookeeper扫盲

    一.zookeeper概述 a.zookeeper是一个开源的分布式的项目,为分布式业务提供协调服务的apache顶级项目 那什么是分布式的呢,通俗的说就是多个机器可以同时去处理一件事情 b.zook ...

  7. css3 伪类实现右箭头→

    css3 实现右箭头→ <!DOCTYPE html> <html lang="en"> <head> <meta charset=&qu ...

  8. What to wear today需求分析文档

    成员: 身份 姓名 分工 组长 陶清然 负责文档编写.ppt,测试 组员 张娜 负责前端 组员 代丽芳 负责后台 组员 江雪 负责数据库 组员 伊穆兰 负责后台 小组成员在本次迭代中的贡献: 姓名 贡 ...

  9. MySql事务的简单使用

    4个特性 原子性:一个事务中的所有操作,要么全部完成,要么全部不完成,不会结束在中间某个环节.事务在执行过程中发生错误,会被回滚(rollback)到事务开始前的状态 一致性:在事务开始前和事务结束以 ...

  10. linux中关于权限的一些事

    权限这个东西对于初学者来说可能会有点陌生,不过不要紧,看完下面的讲解应该会对你有一定的帮助 权限rwx rwxrwxrwx  u     g    o         a r:可读      4 w: ...