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,一经查实,立即删除!

相关文章

java 商品评价计算算法

import java.io.Serializable; import java.lang.ref.ReferenceQueue; import java.lang.ref.WeakReference; import java.math.BigDecimal; import java.math.RoundingMode;/*** 商品评价算法* * project icomment* fileName ProductScore.java* Description* author light-z…

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

自定义v-drag指令(横向拖拽滚动)

指令 Vue.directive(drag, {// 钩子函数&#xff0c;被绑定元素插入父节点时调用 (父节点存在即可调用&#xff0c;不必存在于 document 中)。inserted: (el, binding, vnode, oldVnode) > {console.log(el, binding, vnode, oldVnode)let drag el; // 要拖拽的元素// let …

javascript获取时间差

function GetDateDiff(startTime, endTime, diffType) {//将xxxx-xx-xx的时间格式&#xff0c;转换为 xxxx/xx/xx的格式 startTime startTime.replace(/\-/g, "/");endTime endTime.replace(/\-/g, "/");//将计算间隔类性字符转换为小写diffType diffTy…

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…

js滚动条滚动到指定元素

let item document.getElementById("item"); // 指定的元素 let wrapper document.getElementById("wrapper"); // 其父元素 - 必须是产生滚动条的元素// 元素聚焦法定位 // item.focus(); // 可用 outline:none; 除去聚焦产生的框; 对于默认没有聚焦的…

开源性能测试工具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. 日…

mysql 5.7.18 winx64安装配置方法

在mysql-5.7.18-winx64文件夹下新建my.ini文件[mysql] # 设置mysql客户端默认字符集 default-character-setutf8 [mysqld] #设置3306端口 port 3306 # 设置mysql的安装目录 basedirD:\Program Files\mysql-5.7.18-winx64 # 设置mysql数据库的数据的存放目录 datadirD:\Prog…

js 实现拖拽滚动、滚轮缩放元素函数和案例

文章目录一、拖拽滚动1、封装函数2、示例&#xff1a;二、滚轮缩放1、封装函数2、结合拖拽滚动示例一、拖拽滚动 1、封装函数 /*** description 使用鼠标拖拽div&#xff0c;实现横向、纵向滚动* param el 被拖拽滚动的元素&#xff08;产生滚动条的元素&#xff09;*/functio…

怎么解决input中readonly属性的iOS一直存在光标问题

用css中的pointer-events:none转载于:https://www.cnblogs.com/studyh5/p/8352061.html

赠与大学毕业生_出售,赠与或交易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的恢复出厂设置将删除所有内容和设置&…

layui radio 根据获取的到值选中

<input type"radio" name"lwkg" value"1" title"开" lay-filter"lwkg"> <input type"radio" name"lwkg" value"0" title"关" lay-filter"lwkg"> layui.use(…

设置Mac自动显示和隐藏 Dock 栏的速度

Dock 显示和隐藏&#xff0c;系统默认设置成了1秒 通过终端.APP修改显示和隐藏的时间 &#xff08;单位&#xff1a;秒&#xff09; 默认的&#xff1a;defaults write com.apple.dock autohide-delay -int 1 优化的&#xff1a;defaults write com.apple.dock autohide-del…

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…

GitGitHub语法大全

目录 1. GitHub与Git万用语法1&#xff09;创建库2&#xff09;添加和提交到仓库3&#xff09;版本回退4&#xff09;缓存区和暂存区5&#xff09;撤销和删除文件6)远程仓库7)创建和合并分支2. 更多Git语法1. GitHub与Git万用语法 1&#xff09;创建库 git init 2&#xff09;添…

从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访问和…

富文本编辑器初探

长期以来&#xff0c;作为用户我是富文本编辑器的使用者&#xff0c;作为前端开发&#xff0c;我也只是富文本插件的使用者&#xff0c;对内部实现细节不甚了解&#xff0c;使用上也只停留在调用插件提供的API&#xff0c;实现一些业务逻辑。最近的项目&#xff0c;需要开发一个…