vue/cli4 创建vue项目选项详解

多版本创建项目

  • 一、vue-cli@2.x
  • 二、vue-cli@3.x
  • 三、vue-cli@4.x

1.查看 vue 版本:
项目中,找到package.json文件夹 找"dependencies"中的vue ;
若无项目,在cmd中输入 where vue,cd到vue目录下输入 npm list vue ,即可看到。
2.查看 vue-cli脚手架 版本:
vue -V (很多人会把这个认为是查看vue版本)
3.安装最新版本 vue 和 cli :
npm install vue -g (-g为全局安装,存到全局仓库)
npm install @vue/cli -g (cli3以后命名由vue-cli改为@vue/cli)
4.安装指定版本 vue 和 cli :
npm install vue@3.x -g
npm install @vue/cli@3.x -g (npm install vue-cli@2.x -g )
5.vue和vue/cli版本不匹配时,创建项目时仔细看错误提示,会显示需要什么版本的vue

一、vue-cli@2.x

vue init webpack demo
在这里插入图片描述
cd demo
npm install // 安装基础模块
npm run dev // 运行

二、vue-cli@3.x

vue create demo
在这里插入图片描述
在这里插入图片描述
cd demo
npm install
npm run serve

三、vue-cli@4.x

vue create demo
在这里插入图片描述

作为学习记录,这里全部选择
Vue CLI v4.5.9
? Please pick a preset: Manually select features
? Check the features needed for your project:(*) Choose Vue version(*) Babel  //转码器,可以将ES6代码转为ES5代码,从而在现有环境执行。 (*) TypeScript // TypeScript是一个JavaScript(后缀.js)的超集(后缀.ts)包含并扩展了 JavaScript 的语法,需要被编译输出为 JavaScript在浏览器运行(*) Progressive Web App (PWA) Support // 渐进式Web应用程序(*) Router	// 路由(*) Vuex	// 状态管理(全局变量管理)(*) CSS Pre-processors // css预处理器 :sass 和 less 使用较多(*) Linter / Formatter // 代码风格检查和格式化 : ESLint + Prettier 使用较多,(*) Unit Testing // 单元测试
>(*) E2E Testing // e2e(end to end) 测试                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                

后面的一些选项:

? Choose a version of Vue.js that you want to start the project with (Use arrow keys)
> 2.x3.x (Preview) 
? Use class-style component syntax? (Y/n) y   // 是否使用babel做转义
? Use Babel alongside TypeScript (required for modern mode, auto-detected polyfills, transpiling JSX)? (Y/n) y // 是否使用class风格的组件语法
? Use history mode for router? (Requires proper server setup for index fallback in production) (Y/n) n // 是否使用history模式(服务端需要配置路由映射),还是默认hash(地址栏有#符号)
? Pick a CSS pre-processor (PostCSS, Autoprefixer and CSS Modules are supported by default): //选择css预处理的模式Sass/SCSS (with dart-sass)Sass/SCSS (with node-sass)
> LessStylus 
? Pick a linter / formatter config: // 选择语法检测规范ESLint with error prevention only // 只进行报错提醒 ESLint + Airbnb config // 不严谨模式ESLint + Standard config // 正常模式
> ESLint + Prettier // 严格模式 使用较多TSLint (deprecated) // typescript格式验证工具
? Pick additional lint features: (Press <space> to select, <a> to toggle all, <i> to invert selection)
>(*) Lint on save // 使用较多 建议保存即检测( ) Lint and fix on commit  // 提交才检测,此时可能问题已多,事倍功半   
? Pick a unit testing solution: // 各有各自的长处与短处,开发者需要根据当前项目的需求选择Mocha + Chai // Mocha是一个能够运行在Node和浏览器中的多功能的JavaScript测试框架,它让异步测试简单且有趣。Mocha连续地运行测试,并给出灵活而精确的报告,同时能够将错误精确地映射到测试用例上。chai 是一个强大的断言库
> Jest // 是facebook推出的一款测试框架,集成了 Mocha,chai,jsdom,sinon等功能,配置较简单
? Pick an E2E testing solution:Cypress (Chrome only) // 新一代ui测试框架,类似于selnium,它基于node js,支持webpack构建。Nightwatch (WebDriver-based) // 基于Node.js的端到端(e2e)测试方案,使用W3C WebDriver API,将Web应用测试自动化。它提供了简单的语法,支持使用JavaScript和CSS选择器,来编写运行在Selenium服务器上的端到端测试
> WebdriverIO (WebDriver/DevTools based)  // WebDriverIO 是基于一个基于node的网页自动化测试框架,它封装了 Selenium WebDriver API,可拓展性非常高。相比较原生的Selenium 而言,WebDriverIO 的代码非常的简单易懂,api和方法与jquery相似,非常方便前端上手。同时WebDriverIO 也支持mobile端的测试。 
? Where do you prefer placing config for Babel, ESLint, etc.? (Use arrow keys) // 选择配置信息存放位置
> In dedicated config files // 独立文件放置,项目会有单独的几件文件In package.json // 统一放置放置
? Save this as a preset for future projects? (y/N) y // 是否保存此配置,方便在以后创建项目中选择使用以上配置
------------------------------------------end----------------------------------------------------

cd demo
npm install
npm run serve

可以看出,cli2、cli3可以搭建vue2项目;cli4可以搭建vue2和vue3项目,创建项目时都会有相同的选项:
ESLint 代码规范,unit tests单元测试,e2e tests测试;后面的版本加了项目router路由1、Vuex状态管理2、css预编译器3(之前cli2中这些都要自己配置)以及babel4、ts5和PWA6支持。

这些模块均可以日后按需自己安装


  1. 必备,用于更新组件(页面) ↩︎

  2. 全局变量管理,vue3中可能被某个新特性取代 ↩︎

  3. 预编译器指的是能将less、Sass/SCSS等文件编译成浏览器能识别的css格式,他们拥有更强大的语法和功能 ↩︎

  4. javascript在不断的发展,各种新的标准和提案层出不穷;由于浏览器的多样性,无法广泛普及,babel可以让你提前使用这些语言特性,他是一种用途很多的javascript编译器,他把最新版的javascript编译成当下可以执行的版本。简言之,利用babel就可以让我们在当前的项目中随意的使用这些新最新的es6,甚至es7的语法。把各种javascript千奇百怪的语言统统专为浏览器可以认识的语言(所以必选)。 ↩︎

  5. TypeScript的一个设计亮点就是它并没有抛弃JavaScript的语法另起炉灶,而是做成了JavaScript的超集(这个功劳应该记在Anders上),这样任何合法的JavaScript的语句在TypeScript下都是合法的,也就是说学习成本很低,引入ts模块后即刻在vue框架中使用ts;TypeScript的设计目的应该是解决JavaScript的“痛点”:弱类型和没有命名空间,导致很难模块化,不适合开发大型程序。另外它还提供了一些语法糖来帮助大家更方便地实践面向对象的编程。 ↩︎

  6. PWA不是API或技术,但它是一种Web开发方法,它使用已有的工具和技术组合来创建有针对性的理想用户体验。Progressive Web App(PWA) ↩︎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/278537.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

rainmeter使用教程_如何使用Rainmeter在桌面上显示报价

rainmeter使用教程I’ve never really been a desktop gadgets and widgets type of person, but I often put an inspirational quote on my desktop wallpaper. Today we’ll show you how to do this using Rainmeter, no matter what wallpaper you switch to. 我从来没有真…

Some code changes cannot be hot swapped into a running virtual machine

java运行中修改代码不能改变立刻应用到本次运行中转载于:https://www.cnblogs.com/Pusteblume/p/10211110.html

JMeter扩展JMeter插件获取更多监听器

为了获取更多监听器&#xff0c;方便的监控系统及应用&#xff0c;有必要安装第三方插件 插件下载地址&#xff1a; https://jmeter-plugins.org/downloads/old/ http://pan.baidu.com/s/1gfC11yN 注&#xff1a;如果插件和软件版本不兼容&#xff0c;可能在开启Jmeter时会报错…

如何阻止Chrome(或Edge)接管媒体密钥

Google Chrome now has built-in support for media keys. Unfortunately, Chrome will take over your media keys and prevent them from controlling apps like Spotify when you’re watching YouTube, for example. Here’s how to make Chrome ignore your media keys. G…

开源性能测试工具JMeter快速入门(一)

目录一、JMeter简介二、JMeter功能介绍三、JMeter脚本四、关于JMeter小提示一、JMeter简介1.定义JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试&#xff0c;它最初被设计用于Web应用测试&#xff0c;但后来扩展到其他测试领域。 1&#xff09;它可以用…

八重州8900如何解锁_八重贵族怪胎之路

八重州8900如何解锁Dealing with computers day in and day out can be a harrowing experience. In difficult times, or even when things are idle, finding some spirituality can help cope with the experience—Techies: I give you the Eightfold Noble Geek Path. 日…

赠与大学毕业生_出售,赠与或交易iPhone之前应该做什么

赠与大学毕业生A factory reset of your iPhone erases all of your content and settings, reverting it to a like-new state. However, there are a few extra steps you should take if you plan to get rid of your iPhone. iPhone的恢复出厂设置将删除所有内容和设置&…

powerpoint预览_如何放大和缩小PowerPoint演示文稿的一部分

powerpoint预览Microsoft PowerPoint lets you zoom in and out on a specific part of your PowerPoint slideshow, which can be handy both while editing and for drawing attention to important objects or ideas during the presentation. Here’s how to do it. Micros…

从Firefox控制您喜欢的音乐播放器

Do you love listening to music while you browse? Now you can access and control your favorite music player directly from Firefox with the FoxyTunes extension. 您喜欢在浏览时听音乐吗&#xff1f; 现在&#xff0c;您可以直接使用FoxyTunes扩展程序从Firefox访问和…

ms project 入门_Microsoft Project 2010入门

ms project 入门Would you like to keep your projects on track and keep track of how time and resources are used? Let’s take a look at Microsoft Project 2010 and how it can help you stay on top of your projects. 您想保持项目进度并了解如何使用时间和资源吗&…

mysql基本的增删改查和条件语句

增 insert into 表名&#xff08;列名,列名。。。。。。&#xff09; values("test1",23),("test2",23),("test3",24); 这条命令可以一次增加一条数据&#xff0c;也可以同时增加多条数据 还可以从插入其他的表到数据到当前表 insert into 插入的…

黑莓os软件下载_在PC上试用BlackBerry OS

黑莓os软件下载There’s a wider selection of smart phones and mobile OS’s than ever before, but you can’t just go buy every phone available and try them all out. Here’s how you can test out the latest version of the BlackBerry OS for free on your PC. 智…

Spring事务管理(三)-PlatformmTransactionManager解析和事务传播方式原理

2019独角兽企业重金招聘Python工程师标准>>> Spring在事务管理时&#xff0c;对事务的处理做了极致的抽象&#xff0c;即PlatformTransactionManager。对事务的操作&#xff0c;简单地来说&#xff0c;只有三步操作&#xff1a;获取事务&#xff0c;提交事务&#x…

div方框弯曲边样式_使用弯曲样式编辑文本

div方框弯曲边样式Would you like a new Notepad replacement that incorporates the latest technologies while staying slim and fast? Text editors are usually bland, boring programs, but here’s a new one that makes your text come to life beautifully. 您是否想…

分布式锁的几种实现原理

分布式锁主流有三种模式&#xff1a; 实现方式 功能要求 实现难度 学习成本 运维成本 MySQL 的方案借助表锁/行锁实现 满足基本要求 不难 熟悉 小量OK、大量影响现有业务、1主多从架构&#xff0c;不方便扩容 通过 ZK 创建数据节点的方式实现 满足要求 熟悉 ZK API 即可 需要学…

如何破解您忘记的Windows密码

Here at How-To Geek, we’ve covered many different ways to reset your password for Windows—but what if you can’t reset your password? Or what if you’re using drive encryption that would wipe out your files if you changed the password? It’s time to cr…

sql语句练习50题(Mysql版)

表名和字段–1.学生表Student(s_id,s_name,s_birth,s_sex) –学生编号,学生姓名, 出生年月,学生性别–2.课程表Course(c_id,c_name,t_id) – –课程编号, 课程名称, 教师编号–3.教师表Teacher(t_id,t_name) –教师编号,教师姓名–4.成绩表Score(s_id,c_id,s_score) –学生编号…

OpenCV3 识别图中表格-JAVA 实现

2019独角兽企业重金招聘Python工程师标准>>> 关于 JAVA 学习 OpenCV 的内容&#xff0c;函数讲解。内容我均整理在 GitHubd的OpenCV3-Study-JAVA OpenCV 3 识别图中表格-Java 实现 1. 说明 网上大部分资料&#xff0c;都是针对 C的&#xff0c;python、java 的例子太…

内存泄露 体现在哪个数字上_Microsoft刚刚泄漏了一个新的开始菜单。 你喜欢哪个?...

内存泄露 体现在哪个数字上NTAuthority on TwitterTwitter上的NTAuthorityMicrosoft messed up today, releasing an internal build of Windows 10 to Windows Insiders. This build was never meant to see the light of day, but it features a new Start menu design—with…

简述 Spring Cloud 是什么

很多同学都了解了Spring &#xff0c;了解了 Spring Boot, 但对于 Spring Cloud 是什么还是比较懵逼的。 本文带你简单的了解下&#xff0c;什么是Spring Cloud。 Spring Cloud 是什么 从字面理解&#xff0c;Spring Cloud 就是致力于分布式系统、云服务的框架。 Spring Cloud …