Vue CLI 3.x 简单体验
文档
中文文档 补充于02月10日
vue脚手架的3.x版本已经在开发中,现在还处于alpha版本。
我们来看看有哪些变化。
使用
npm install -g @vue/cli
命名方式已经改为npm推荐的新的包名规则,使用作用域。详情可查看此文章。
命令变化
vue -h
我们看到
create [options] <app-name>
创建一个由vue-cli-service支持的新项目invoke <plugin>
在已创建的项目中添加插件serve [options] [entry]
在开发者模式下以零配置运行一个js或vue文件build [options] [entry]
在生产模式下以零配置构建一个js或vue文件init <template> <app-name>
旧api 需要@vue/cli-init // 就是原来的vue-cli init <template> <app-name>
中文是我加的
说到零配置,可以看看这个Parcel,生态还不完善,零配置的缺点就是不够自由。
那么vue-cli-service是什么?这个几个新的命令有是什么?
我们先试着创建一个项目。
初始化模板
vue create my-project
这个时候会进入选项
? Please pick a preset:
> default (babel, eslint)
> Manually select features //手动选择功能
我们选择default走向
default路线
Pick the package manager to use when installing dependencies: //用哪个下载依赖
> Use Yarn
Use NPM
// 现在的顺序是Yarn在第一位的
因为没有装Yarn,所以使用NPM
然后出现提示,进入安装过程
Vue CLI v3.0.0-alpha.5
✨ Creating project in E:\git\note\my-project. // 创建项目
� Initializing git repository... // 初始化git库
⚙ Installing CLI plugins. This might take a while... // 安装脚手架插件
提示里多了些符号,气氛变得活泼起来。
其实这个过程中还会判断你对npm/yarn源的连接速度,询问你是否切换至淘宝镜像
Your connection to the the default npm registry seems to be slow.
Use https://registry.npm.taobao.org for faster installation?
完成之后我们可以看到除node_modules之外的目录结构变成了
│ package-lock.json
│ package.json
├─public
│ favicon.ico
│ index.html
└─src
│ App.vue
│ main.js
├─assets
│ logo.png
└─components
HelloWorld.vue
build哪里去了?config哪里去了?配置都消失了?
我们观察一下npm脚本命令
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
现在是依靠vue-cli-service来运行的。那么那些配置应该就在vue-cli-service当中(所谓零配置),所以vue-cli-service应该是起的一个服务。
自定义路线
我们选择Manually select features
之后
? Check the features needed for your project: (Press <space> to select, <a> to toggle all, <i> to invert selection)
>( ) TypeScript
( ) Progressive Web App (PWA) Support
( ) Router
( ) Vuex
( ) CSS Pre-processors
( ) Linter / Formatter
( ) Unit Testing
( ) E2E Testing
看到可以自由组合现在所需的功能了。
创建的过程中会询问配置文件保存位置是config.js还是package.json,但是其中也是一些简单的配置。
vue-cli-service功能
vue-cli-service应该还提供了一些没说明的用法
这部分会持续更新
生成 web components 规范的组件代码
配置npm 脚本"build:components": "vue-cli-service build --target wc-async **/*.vue"
可以直接把 Vue 的组件代码生成 web components 规范的组件代码,不过要记得 web components 的规范里组件名中是必须有横线的,所以使用 app 这样的组件名会导致构建失败
来自勾三股四微博
变化
- 可以看到以前繁琐的配置文件不见了,变成了一种约定大于配置的状态(查看issues,其实还是能配置的,需要创建vue.config.js文件),根据命令行描述和文档说明是可以在此基础上配置其他各种插件的,但是我没有深入研究。
- 文档中有提到
It automatically infers the entry file in the current directory
,所以我尝试着添加过个html文件看是否能达到直接变成多页面应用,没有成功,可能还有其他方法。 - 添加了对npm源的连接速度的判断
后话
vue-cli还在开发当中,文档还没完成,创建完项目根据配置不同还是存在一些问题的,大家可以去讨论并提出你的想法,参与pr,去拿contribution吧。
更新于02月07日beta版要发版了,下周应该会有官方文档出来
原文地址:https://segmentfault.com/a/1190000013090943
Vue CLI 3.x 简单体验的更多相关文章
- 使用vue/cli 创建一个简单的项目
首先,电脑安装了node.js官方要求8.9 或更高版本 (推荐 8.11.0+) npm install -g @vue/cli # OR yarn global add @vue/cli 全局安装 ...
- 六. Vue CLI详解
1. Vue CLI理解 1.1 什么是Vue CLI 如果你只是简单写几个Vue的Demo程序, 那么你不需要Vue CLI,如果你在开发大型项目那么你需要它, 并且必然需要使用Vue CLI. 使 ...
- Vue Cli 3 初体验(全面详解)
vue新出了 vue cli 3,并直接改名为 @vue/cli,今天就来盘他. 首先介绍等啰里啰嗦的就不写了,贴个link吧. Vue CLi3 github Vue CLi web 要是想先了解下 ...
- Vue Cli安装以及使用
因为公司项目要用vue框架,所以会用vue-cli来新建项目.用过vue的都知道,要全局安装vue以及脚手架vue-cli,然后执行vue init webpack projectname来新建v ...
- Vue CLI 3 中文文档
翻译文档 文档翻译全貌 前言 之前写了一篇Vue CLI 3.x 版本的简单体验,当时文档还不全,具体的使用方法并不是很清楚,大概是2月7号,收到Vue CLI 3接近Beta版的提示,作者尤雨溪也讲 ...
- Vue CLI 是如何实现的 -- 终端命令行工具篇
Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,提供了终端命令行工具.零配置脚手架.插件体系.图形化管理界面等.本文暂且只分析项目初始化部分,也就是终端命令行工具的实现. 0. 用法 ...
- 基于 Webpack & Vue & Vue-Router 的 SPA 初体验
基于 Webpack & Vue & Vue-Router 的 SPA 初体验 本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com ...
- vue cli 3.0创建项目
.npm i -g @vue/cli .vue create my-project 此处有两个选择: 1.default (babel, eslint)默认套餐,提供babel和eslint支持 2. ...
- vue cli 3
介绍 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统 通过 @vue/cli 搭建交互式的项目脚手架. 通过 @vue/cli + @vue/cli-service-global 快 ...
随机推荐
- bzoj1087【SCOI2005】互不侵犯King
1087: [SCOI2005]互不侵犯King Time Limit: 10 Sec Memory Limit: 162 MB Submit: 2405 Solved: 1413 [Submit ...
- requireJS使用shim注入非标准模块详解
在javascript中定义全局变量有2种方式,本质上是等价的,都是向window对象注入属性或者方法. // global.js var g_name = "aty"; wind ...
- QPS计算
案例:公司xiaoyb性能测试评估 我们预估支持500家学校,每所学校300人,每天有10%的活跃率,每天有500*300*10%=15000人,每人每天平均请求20次,每天大概请求时间共8小时,80 ...
- 【BZOJ 1230】 开关灯
[题目链接] https://www.lydsy.com/JudgeOnline/problem.php?id=1230 [算法] 线段树 [代码] #include<bits/stdc++.h ...
- MySql c#通用类 转
using System;using System.Data;using System.Configuration;using System.Collections.Generic;using Sys ...
- 35个jquery小技巧
1. 禁止右键点击 ? 1 2 3 4 5 $(document).ready(function(){ $(document).bind("contextmenu",fun ...
- elasticearch 归并策略
归并线程配置 segment 归并的过程,需要先读取 segment,归并计算,再写一遍 segment,最后还要保证刷到磁盘.可以说,这是一个非常消耗磁盘 IO 和 CPU 的任务.所以,ES 提供 ...
- PHP 框架Laravel Eloquent 实现身份验证
PHP自从5.3后似乎又热度又回升, 最近了解了一下PHP框架之一Laravel, 最近最新的版本已经是4.3 基本的结构这里不讲, 要了解可以在这里看文档 http://v4.golaravel. ...
- Django models 常用字段类型
1.CharField字符串字段,存较短的字符串,长文本要用TextField.必须的参数:max_length 字符的最大长度2.TextField容量很大的文本字段.admin中用 <tex ...
- 最简单的多线程死锁案例代码(Java语言)
package com.thread.test; public class DeadLock { private static Object firstMonitor = new Object(); ...