一、介绍
Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统。有三个组件:

CLI :@vue/cli 全局安装的 npm 包,提供了终端里的vue命令(如:vue create 、vue serve 、vue ui 等命令)

CLI 服务:@vue/cli-service是一个开发环境依赖。构建于 webpack 和 webpack-dev-server 之上(提供 如:serve、build 和 inspect 命令)

CLI 插件:给Vue 项目提供可选功能的 npm 包 (如: Babel/TypeScript 转译、ESLint 集成、unit和 e2e测试 等)

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
二、 安装

  1. 全局安装过旧版本的 vue-cli要先卸载它,否则跳过此步:
npm uninstall vue-cli -g //或者 yarn global remove vue-cli

操作如下:

可以看到卸载成功后,vue命令不存在了
2. Vue CLI 2需要 nodeJs ≥ 8.9 (官方推荐 8.11.0+,你可以使用 nvm 或 nvm-windows在同一台电脑中管理多个 Node 版本)。
3. (1)查看node 版本

(2)下载安装nodeJs很简单(和其他系统软件一样根据需求按步骤安装)这里不做介绍,中文官方下载地址
3 安装@vue/cli

cnpm install -g @vue/cli  //yarn global add @vue/cli

操作如下图:

查看版本:

vue -V //vue --version

结果如下图:

三、使用
1.vue create 搭建新项目
(1)新建项目:

*官方提示:如果你在 Windows 上通过 minTTY 使用 Git Bash,交互提示符并不工作,必须通过 winpty vue.cmd create hello-world 启动这个命令

vue create <Project Name> //文件名 不支持驼峰(含大写字母)


具体操作如下:

1 首先,会提示你选择一个preset(预设):

2 手动配置,根据你需要用方向上下键选择(按 “空格键”选择/取消选择,A键全选/取消全选,I键进行反选)对应功能

简介:

? Check the features needed for your project: (Press <space> to select, <a> to toggle all, <i> to invert selection)
>( ) TypeScript                                 // JavaScript的一个超集(添加了可选的静态类型和基于类的面向对象编程:类型批注和编译时类型检查、类、接口、模块、lambda 函数)
( ) Progressive Web App (PWA) Support          // 渐进式Web应用程序
( )Router                                     // vue-router(vue路由)
( ) Vuex                                       // vuex(vue的状态管理模式)
( ) CSS Pre-processors                         // CSS 预处理器(如:less、sass)
( ) Linter / Formatter                         // 代码风格检查和格式化(如:ESlint)
( ) Unit Testing                               // 单元测试(unit tests)
( ) E2E Testing                                // e2e(end to end) 测试

选中自己所需的插件后,回车等待创建完成,然后会提示你选择对应功能的具体工具包,选择自己擅长或者使用广泛的(方便遇到问题时百度),简介如下
3 是否使用history router:

Vue-Router 利用了浏览器自身的hash 模式和 history 模式的特性来实现前端路由(通过调用浏览器提供的接口)
4 css预处理器
主要为css解决浏览器兼容、简化CSS代码 等问题

5 ESLint:
提供一个插件化的javascript代码检测工具,ESLint + Prettier //使用较多

6 何时检测:

7 如何存放配置 :

8 是否保存本次配置(y:记录本次配置,然后需要你起个名; n:不记录本次配置):

9 搭建完成

四 项目结构

精简了很多,基本的用法变化不是特别大
① vuex(状态管理):

vue cli 2 中 :vuex是搭建完成后自己npm install的,并不包括在搭建过程中。可以看到vue cli 2的vuex默认文件夹(store)又包含了三个js文件:action(存放一些调用外部API接口的异步执行的的方法,然后commit mutations改变mutations 数据)、index(初始化mutations 数据,是store的出口)、mutations(处理数据逻辑的同步执行的方法的集合,Vuex中store数据改变的唯一方法commit mutations)

vue cli 3 中:vuex是包含在搭建过程供选择的预设。vue cli 3 中默认只用一个store.js代替了原来的store文件夹中的三个js文件。action、mutations、state以及store 的 getters 的用法有很多

② router (路由):

vue cli 2 :“ router/index.js ”

vue cli 3:“router.js”(用法和做的事都一样)

③ 去掉 static 、 新增 public 文件夹

vue cli 2 :static 是 webpack 默认存放静态资源的文件夹,打包时会直接复制一份到dist文件夹不会经过 webpack 编译

vue cli 3 :摒弃 static 新增了 public 。vue cli 3 中“静态资源”两种处理方式:

经webpack 处理:在 JavaScript 被导入或在 template/CSS 中通过“相对路径”被引用的资源会被编译并压缩

不经webpack 处理:放置在 public 目录下或通过绝对路径被引用的资源将会“直接被拷贝”一份,不做任何编译压缩处理

④ index.html :

vue cli 2 :“index.html ”

vue cli 3 :“public/index.html ”此模板会被 html-webpack-plugin 处理的

⑤ src/views:

vue cli 3 的 src文件夹 新增 views文件夹 用来存放 “页面”,区分 components(组件)

⑥ 去掉 build(根据config中的配置来定义规则)、config(配置不同环境的参数)文件夹 :

vue cli 3 中,这些配置 你可以通过 命令行参数、或 vue.config.js (在根目录 新建一个 vue.config.js 同名文件)里的 devServer 字段配置开发服务器

⑦ babel.config.js:

配置Babel 。Vue CLI 使用了 Babel 7 中的新配置格式 babel.config.js。和 .babelrc 或 package.json 中的 babel 字段不同,这个配置文件不会使用基于文件位置的方案,而是会一致地运用到项目根目录以下的所有文件,包括 node_modules 内部的依赖。官方推荐在 Vue CLI 项目中始终使用 babel.config.js 取代其它格式。

⑧ 根目录的一些其他文件的改变:

之前所有的配置文件都在vue create 搭建时preset预设 或者 后期可以通过 命令参数 、 vue.config.js 中配置
**

根据需要在根目录下新建 vue.config.js自行配置,eg:(简单配置,更多配置详情参见官网:https://cli.vuejs.org/zh/config/)

module.exports = {baseUrl: '/',// 部署应用时的根路径(默认'/'),也可用相对路径(存在使用限制)outputDir: 'dist',// 运行时生成的生产环境构建文件的目录(默认''dist'',构建之前会被清除)assetsDir: '',//放置生成的静态资源(s、css、img、fonts)的(相对于 outputDir 的)目录(默认'')indexPath: 'index.html',//指定生成的 index.html 的输出路径(相对于 outputDir)也可以是一个绝对路径。pages: {//pages 里配置的路径和文件名在你的文档目录必须存在 否则启动服务会报错index: {//除了 entry 之外都是可选的entry: 'src/index/main.js',// page 的入口,每个“page”应该有一个对应的 JavaScript 入口文件template: 'public/index.html',// 模板来源filename: 'index.html',// 在 dist/index.html 的输出title: 'Index Page',// 当使用 title 选项时,在 template 中使用:<title><%= htmlWebpackPlugin.options.title %></title>chunks: ['chunk-vendors', 'chunk-common', 'index'] // 在这个页面中包含的块,默认情况下会包含,提取出来的通用 chunk 和 vendor chunk},subpage: 'src/subpage/main.js'//官方解释:当使用只有入口的字符串格式时,模板会被推导为'public/subpage.html',若找不到就回退到'public/index.html',输出文件名会被推导为'subpage.html'},lintOnSave: true,// 是否在保存的时候检查productionSourceMap: true,// 生产环境是否生成 sourceMap 文件css: {extract: true,// 是否使用css分离插件 ExtractTextPluginsourceMap: false,// 开启 CSS source mapsloaderOptions: {},// css预设器配置项modules: false// 启用 CSS modules for all css / pre-processor files.},devServer: {// 环境配置host: 'localhost',port: 8080,https: false,hotOnly: false,open: true, //配置自动启动浏览器proxy: {// 配置多个代理(配置一个 proxy: 'http://localhost:4000' )'/api': {target: '<url>',ws: true,changeOrigin: true},'/foo': {target: '<other_url>'}}},pluginOptions: {// 第三方插件配置// ...}
};

vue-cli升级到3之后,减少了很多的配置文件,将所有的配置项都浓缩到了vue.config.js这个文件中,所以学懂并会用vue.config.js文件很重要。

这里有一篇关于vue-cli3的全面配置的文章供大家参考
vue-cli3的全面配置
热更新配置
在vue.config.js添加

1 chainWebpack: config => {2     // 修复HMR
3     config.resolve.symlinks(true);
4 },

修改css部分热更新还需要注释掉 //extract: true,

css: {//extract: true,// 是否使用css分离插件 ExtractTextPluginsourceMap: false,// 开启 CSS source mapsloaderOptions: {},// css预设器配置项modules: false// 启用 CSS modules for all css / pre-processor files.
},

这样,热更新配置就完成了!
若有不足之处,还望大佬多多指教

vue2.0创建项目步骤相关推荐

  1. vue-cli2.0创建项目步骤

    Vue是近两年来比较火的一个前端框架(渐进式框架吧),与reactjs和angularjs三国鼎立,我不是职业前端,做过Vue,了解了一下React,听说过Angluar.我只能这么说,我来晚了,没经 ...

  2. vue2.0 创建项目

    准备 安装淘宝 npm镜像 npm install -g cnpm --registry=https://registry.npm.taobao.org 添加系统变量path的内容 因为cnpm会被安 ...

  3. Vue2脚手架创建项目

    Vue2脚手架创建项目 一.使用脚手架 1.安装 @vue/cli ​ 简述 cli ===> command line interface (命令行接口) // 安装npm install - ...

  4. ASP.NET报错集合一----.net4.0创建项目后,在iis上部署项目,无法浏览,提示404

    前言:这些错误纯属自己在开发项目的时候遇到的问题,比较有针对性.如果有解决不了的问题,请勿喷. 问题描述: .net4.0创建项目后,在iis上部署项目,无法浏览,提示404 搭建项目的环境: 项目是 ...

  5. Django框架(入门超细笔记 创建项目步骤 )

            在安装Django之前,我们首先需要安装Python开发的虚拟环境 virtualenv. 一.学习django我们要先下载虚拟环境 1.在cmd中输入命令:pip install v ...

  6. vue 图形化设计工具_Vue: Vue-CLI3.0 创建项目

    真实的开始需要的:开发服务器: 需要http/https协议访问 BaBel: es6转es5,兼容2015年6月之前的浏览器 postcss less sass: 开发高效 esLint: 协作开发 ...

  7. 基于vue2.0+ 抽奖项目

    前言 临近年关抽奖活动,基于vue2.0+开发的抽奖项目. 便于查看效果,贴上相关地址: 在线示例地址:快速访问 github地址:查看源码 简介 基于vue.js抽奖项目,截屏保存每次抽奖图片至本地 ...

  8. vue2.0实战项目——简单的快餐店系统

    最近学习vue看到网上很多学习的资料,就找了一个项目系统练习,主要是想学习了的一些知识点,系统的组合运用一遍.网上根据技术胖老师博客的内容自己也实战了一遍,挺实用的,对vue框架有了更深入的了解以及自 ...

  9. 【vue2.0后台项目之登陆】01登陆开发流程分析

    登陆开发流程 1.前言 2.vue-admin-template模板介绍 3. vue-admin-template模板结构分析 4.axios的二次封装 5.请求后端接口 6.表单验证 7.派发ac ...

最新文章

  1. 剑指offer:孩子们的游戏(圆圈中最后剩下的数)
  2. 1美元训练BERT,教你如何薅谷歌TPU羊毛 | 附Colab代码
  3. html导入错误 wordpress,纯代码为WordPress压缩前端html代码 附BUG修复
  4. 【Python】青少年蓝桥杯_每日一题_2.21_3与质数的判断
  5. AVC sequence header AAC sequence header
  6. Mysql数据库(七)——mysql高阶语句(上)
  7. pb界面框架开发_CATIA CAA二次开发草图界面框架类:CATSketcherCommands
  8. 小程序入门学习12--云函数与数据库01
  9. 此时本机的BootLoader程序坏了,也就是说grub第一阶段坏掉了,该如何修复
  10. sql语句:CASE WHEN END 的用法
  11. DDD基础_领域设计10大基础概念
  12. css 实现一个尖角_用CSS实现页面的尖角、小三角、不同方向尖角
  13. 2022年深圳市个人所得税计算程序
  14. 华为路由器RIP经典案例
  15. 什么是动态 SQL
  16. 猎聘网2017年校园招聘研发类岗位笔试题
  17. 解决“Can‘t connect to MySQL server on ‘localhost:3306‘ (10061)“MySQL登录报错问题
  18. spring 动态数据源切换实例
  19. 基于stm32的超声波HC-SR04测距仪含距离报警(温度补偿)
  20. 计算机网络课程设计性能优化方案,计算机网络课程设计方案(华北电力大学科技学院).doc...

热门文章

  1. xp 两个计算机互访,XP和Windows7文件不能互访解决办法
  2. springcloud alibaba nacos 下载地址
  3. 线性代数几何直观的理解
  4. Spring 注解详解
  5. 专升本高数第一章试题_专升本高数——第一章 函数极限与连续性
  6. python的读后感_《笨办法学python》读后感
  7. 学习记录528@更换https证书
  8. c语言输出不足10补0,c++ cout输出不足位补0 setw、setfill
  9. 人工智能面试总结-正则优化函数
  10. 【渝粤教育】电大中专市场营销管理 (3)作业 题库