vue-cli3 知识点

介绍

vue-cli

  • 通过 @vue/cli 搭建交互式的项目脚手架
  • 通过 @vue/cli + @vue/cli-service-global 快速开始零配置原型开发
  • 一个运行时依赖(@vue/cli-service)
  • 一个丰富的官方插件集合,集成了前端生态中最好的工具
  • 一套完整图形化的创建和管理 Vue.js 项目的用户界面

CLI

  • CLI(@vue/cli):
    • 一个全局安装的 npm 包(提供vue命令)
      • vue create:快速创建一个新项目的脚手架
      • vue serve:构建新想法的原型
      • vue ui:通过一套图形化界面管理我们的所有项目
  • CLI服务(@vue/cli-service):
    • 一个开发环境依赖(包含)
      • 加载其他 CLI 插件的核心服务
    • 局部安装在每个@vue/cli创建的项目中(包含)
      • 优化过的 n 内部 webpack 配置
    • 构建于 webpack 和 webpack-dev-server 之上(包含)
      • vue-cli-service 命令:提供了 serve 命令、build 命令和 inspect 命令
  • CLI插件:向Vue项目提供可选功能的 npm 包
    • 内建插件:@vue/cli-plugin-
    • 社区插件:vue-cli-plugin-
    • 执行 vue-cli-service 命令时,自动解析并加载 package.json 中列出的所有 CLI 插件

安装

首先安装node,版本要求在8.9或更高版本。

安装命令:

// 局部安装
npm i @vue/cli 
yarn add @vue/cli

// 全局安装
npm i -g @vue/cli
yarn add -g @vue/cli

检查安装是否成功:

vue --version

基础

搭建基本项目

  • 快速构建命令 vue servevue build (必须是在全局安装@vue/cli-service-global 依赖的前提下)

    npm install -g @vue/cli-service-global
    
  • vue serve 命令选项

    Usage: serve [options] [entry]
    在开发环境模式下零配置为 .js 或 .vue 文件启动一个服务器
    
    Options:
    -o, --open  打开浏览器
    -c, --copy  将本地 URL 复制到剪切板
    -h, --help  输出用法信息
    
  • vue build 命令选项

    Usage: serve [options] [entry]
    在开发环境模式下零配置为 .js 或 .vue 文件启动一个服务器
    
    Options: 
    -t, --target <target>  // 构建目标(app | lib | wc | wc-async,默认值:app)
    -n, --name <name>      // 库的名字或 Web Components组件的名字(默认值:入口文件名)
    -d, --dest <dir>       // 输出目录(默认值:dist)
    -h, --help             // 输出用法信息
    
  • 快速创建一个项目命令

    vue create
    

插件和preset

  • 插件的注册与声明
  • Preset
  • 一个 Vue CLI preset 是一个包含创建新项目所需预定义选项和插件的 JSON 对象,让用户无需在命令提示中选择它们

CLI 服务

  • vue-cli-service serve 启动一个开发服务器并附带开箱即用的模块热加载(可以通过 devServer 配置开发服务器)

    用法:vue-cli-service serve [options] [entry]
    
    选项:
      --open    在服务器启动时打开浏览器
      --copy    在服务器启动时将 URL 复制到剪切版
      --mode    指定环境模式 (默认值:development)
      --host    指定 host (默认值:0.0.0.0)
      --port    指定 port (默认值:8080)
      --https   使用 https (默认值:false)
    
  • vue-cli-service build,在输出目录产生一个环境的包,自动进行代码压缩,vendor chunk splitting,内联chunk manifest 在HTML里面。

    用法:vue-cli-service build [options] [entry|pattern]
    
    选项:
      --mode        指定环境模式 (默认值:production)
      --dest        指定输出目录 (默认值:dist)
      --modern      面向现代浏览器带自动回退地构建应用
      --target      app | lib | wc | wc-async (默认值:app)
      --name        库或 Web Components 模式下的名字 (默认值:package.json 中的 "name" 字段或入口文件名)
      --no-clean    在构建项目之前不清除目标目录
      --report      生成 report.html 以帮助分析包内容
      --report-json 生成 report.json 以帮助分析包内容
      --watch       监听文件变化
    
  • vue-cli-service inspect,审查 vue-cli 项目的 webpack 配置

    用法:vue-cli-service inspect [options] [...paths]
    
    选项:
    --mode       // 指定环境模式,默认值:development
    

查看所有可用命令

npx vue-cli-service help

缓存和并行处理

cache-loader:默认为 Vue/Babel/TypeScript 编译开启,文件会缓存在 node_modules/.cache 中。

开发

浏览器的兼容性

HTML 和 静态资源

css相关

webpack相关

环境变量和模式

构建目标

部署

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,561评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,218评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,162评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,470评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,550评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,806评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,951评论 3 407
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,712评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,166评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,510评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,643评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,306评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,930评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,745评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,983评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,351评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,509评论 2 348

推荐阅读更多精彩内容

  • 此篇文章会先讲具体操作步骤,后面会介绍原理,如时间紧急只看第一部分即可 具体步骤(以测试环境模式为例) 修改pac...
    LM林慕阅读 1,777评论 0 4
  • vue-cli3项目搭建配置以及性能优化项目初始化 注意:安装前请确保有安装node.js,并且node>=8.9...
    O蚂蚁O阅读 1,292评论 0 1
  • 先描述一个场景:当我们在本地开发一个移动端的功能时,有时会面临一个困境,即某些原生功能浏览器无法给予我们响应,必须...
    yoona幻尘阅读 1,818评论 2 3
  • 文章转自HulkShen npm在前端开发流程中提供了非常完善的自动化工具链,已成为每个前端开发者必备的工具,但是...
    秋枫残红阅读 635评论 0 1
  • 一、vue.config.js文件配置 在项目根目录下自己手动新建vue.config.js文件,会被@vue/c...
    葵葵的花园阅读 16,817评论 2 12