zoukankan      html  css  js  c++  java
  • Vue生态圈之----Vue CLI3学习整理----安装与基础

    介绍

    Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,提供:

    • 通过 @vue/cli 实现的交互式的项目脚手架。
    • 通过 @vue/cli + @vue/cli-service-global 实现的零配置原型开发。
    • 一个运行时依赖 (@vue/cli-service),该依赖:
      • 可升级;
      • 基于 webpack 构建,并带有合理的默认配置;
      • 可以通过项目内的配置文件进行配置;
      • 可以通过插件进行扩展。
    • 一个丰富的官方插件集合,集成了前端生态中最好的工具。
    • 一套完全图形化的创建和管理 Vue.js 项目的用户界面。

    源代码:Vue-cli

    安装

    npm install -g @vue/cli
    // OR
    yarn global add @vue/cli
    

    核心

    CLI(@vue/cli):是一个全局安装的npm包,提供了终端里的 vue 命令。

    create [options] <app-name>     // 创建一个由vue-cli-service支持的新项目
    add [options] <plugin> [pluginOptions]    // 安装插件并在已创建的项目中调用其生成器
    invoke [options] <plugin> [pluginOptions]    // 在已创建的项目中调用插件的生成器
    inspect [options] [paths...]    // 使用vue-cli-service检查项目中的webpack配置
    serve [options] [entry]    // 在开发模式下提供一个.js或.vue文件,无需配置
    build [options] [entry]    // 在生产模式下使用零配置构建一个.js或.vue文件
    ui [options]     // 启动并打开vue-cli 图形界面
    init [options] <template> <app-name>    // 从远程模板生成项目(遗留API,需要安装@vue/cli-init)
    config [options] [value]    // 检查并修改配置
    outdated [options]    // (实验)检查过时的vue cli 服务/插件
    upgrade [options] [plugin-name]    // (实验)升级vue cli 服务/插件
    migrate [options] [plugin-name]    // (实验)为已经安装的cli插件运行migrator
    info    //打印有关环境的调试信息
    

    CLI服务(@vue/cli-service):是一个局部安装的npm包,是一个开发环境依赖包,局部安装在每个 @vue/cli 创建的项目中。

    (也就是说:使用了vue create 命令创建了一个项目后,@vue/cli-service也自动局部安装在了项目中)

    //构建于 webpack 和 webpack-dev-server 之上,包含:
    1、加载其它CLI插件的核心服务
    2、优化过的内部的webpack配置
    3、项目内部的 vue-cli-service 命令,提供命令
    

    CLI插件(@vue-cli-plugin-[内建插件] 或 vue-cli-plugin-[社区插件]:提供可选功能的npm包,在项目内部运行 vue-cli-service 命令时,它会自动解析并加载 package.json 中列出的所有 CLI 插件

    //在项目内部运行 vue-cli-service 命令时,自动解析并加载 package.json 中的所有CLI插件
    vue add [插件名称]
    

    CLI(@vue/cli)

    可以使用 vue servevue build 命令对单个 *.vue 文件进行快速原型开发,不过这需要先额外安装全局扩展 @vue/cli-serivce-global

    vue serve [options] [entry]
    // 会在当前目录自动推导入口文件(入口文件可以是:main.js、index.js、App.vue、app.vue中的一个),也可以自定义入口文件
    
    vue build [options] [entry]
    // 生成一个用于部署的生产环境的包
    

     如果要使用旧版本(vue-cli2):全局安装一个桥接工具 @vue/cli-init

    npm install -g @vue/cli-init
    
    // `vue init` 的运行效果将会跟 `vue-cli@2.x` 相同
    vue init webpack my-project
    

    CLI插件

    插件能修改webpack的内部配置,也可以向 vue-cli-service 注入命令

    vue add @vue/eslint //会解析为完整的包名 @vue/cli-plugin-eslint
    //等价于
    vue add @vue/cli-plugin-eslint
    

    如果插件不带 @vue,则会安装第三方插件

    vue add apollo //安装并调用 vue-cli-plugin-apollo
    
    vue invoke [插件名称] //如果插件已安装,则跳过安装过程,只调用生成器
    

    插件与package.json的设置

    {
      "vuePlugins": {
          "resolveFrom": ".config",//加载其它package.json里的插件,如有个文件:.config/package.json
          "service":["my-commands.js"],//直接访问插件API,不需要创建完整插件
          "ui":["my-ui.js"]//添加像UI插件一样工作的文件
      }
    }
    

    CLI Preset

    在使用 vue create 创建项目的过程中,保存的preset会放在home目录下的 .vuerc 配置文件中

    {
      "useConfigFiles": true,
      "plugins": {
        "@vue/cli-plugin-eslint":{
              "version":"^3.0.0",//插件版本管理
              "prompts":true//在项目创建时,插件安装允许注入命令提示
        }
      },
    
     //可以为集成工具添加配置
      //根据 useConfigFiles 的值,configs的配置会被合并到 package.json或相应的配置文件中
      //如:useConfigFiles值为true时,configs的值会被合并到vue.config.js中
      "configs": {
        "vue": {...},
        "postcss": {...},
        "eslintConfig": {...},
        "jest": {...}
      }
    }
    

    使用远程Preset

    vue create --preset [远程插件名称] [项目名称]
    //如 vue create --preset username/repo my-project
    
    //从私有repo获取,确保使用 --clone
    vue create --preset gitlab:username/repo --clone my-project
    vue create --preset bitbucket:username/repo --clone my-project
    

    加载本地Preset

    // ./my-preset 应当是一个包含 preset.json 的文件夹
    vue create --preset ./my-preset my-project
    
    //或者,直接使用当前工作目录下的 json 文件:
    vue create --preset my-preset.json my-project
    

    CLI服务

    @vue/cli-service 安装了一个名为 vue-cli-service 的命令

    vue-cli-service serve [options] [entry]//启动服务
    vue-cli-service build [options] [entry|]//生成用于生产环境的包
    vue-cli-service inspect [options] [...paths] //审查项目的webpack config
    

    启动服务的多种方式:

    ./node_modules/.bin/vue-cli-service //终端直接调用
    npx vue-cli-service serve //npx直接调用
    

     

     

  • 相关阅读:
    PHP调试的时候出现了警告:
    快报滚动
    js foreach、map函数
    箭头函数和普通函数的区别
    flex布局
    react+propTypes
    手机尺寸
    less的使用
    发现是在IE6-IE9下,下列元素table,thead,tfoot,tbody,tr,col,colgroup,html,title,style,frameset的innerHTML属性是只读的
    div+css 组织结构
  • 原文地址:https://www.cnblogs.com/adhehe/p/13385029.html
Copyright © 2011-2022 走看看