vue-cli@3.x初体验之前篇-回顾vue-cli@2.x创建项目的流程
模拟实际工作中的操作,假如新开启了一个vue项目,可以先看看上篇博文中的git操作,新建空仓库vue-demo,并拉取到本地,创建本地dev分支后
1. 全局安装vue-cli
yarn global add vue-cli
// 检查是否已安装成功
vue -V
// 2.9.6
2. 使用vue init 创建项目,官方提供了6种模板,对于大多数人而言,工作中选择webpack模板
// 使用vue init 创建项目(.指当前目录)
vue init webpack .
? Generate project in current directory? (Y/n)
// 是否在当前文件下创建项目:输入y,回车
? Project name (vue-demo)
// 项目名称:不输入,直接回车
? Project description A Vue.js project
// 项目描述:不输入,直接回车
? Author (xxxxx <123456@xxx.com>)
// 作者:不输入,直接回车
? Vue build (Use arrow keys)
> Runtime + Compiler: recommended for most users
Runtime-only: about 6KB lighter min+gzip, but templates (or any Vue-specific HTML) are ONLY allowed in .vue
files - render functions are required elsewhere
// 第一个是vue官方推荐大部分用户用这个,这个表示可以不基于 .vue 文件做开发,可以在运行时做编译,因为它有一个 compiler。
// 如果选第二个,min + gzip后,vuejs文件会减小6KB,因为它省略了templates模板的编译过程, 因为这个编译过程是webpack 用 vue-loader 去编译.vue 做的, 但是必须依赖 .vue文件做开发。
// 选第一个,回车
? Install vue-router? (Y/n)
// 是否安装路由:输入y, 回车
? Use ESLint to lint your code? (Y/n)
// 是否使用ESlint规范代码:输入y, 回车
? Pick an ESLint preset (Use arrow keys)
> Standard (https://github.com/standard/standard)
Airbnb (https://github.com/airbnb/javascript)
none (configure it yourself)
// 选择哪种 ESlint 规范预设。选择 standard 规范,回车
? Set up unit tests (Y/n)
// 是否设置单元测试:输入 n,回车
? Setup e2e tests with Nightwatch? (Y/n)
// 是否用 Nightwatch 设置 E2E测试:输入n, 回车
? Should we run `npm install` for you after the project has been created? (recommended) (Use arrow keys)
> Yes, use NPM
Yes, use Yarn
No, I will handle that myself
// 是否在创建完项目后自动安装依赖,并选择一种依赖管理工具
// 上下箭头选择 Yarn, 回车
3. 看下默认生产的目录和文件有哪些
.
|-- build // 编译脚本文件夹,包括所有的loaders、plugins安装配置
| |-- build.js // 生产环境构建代码
| |-- check-version.js // 检查当前node、npm等版本
| |-- logo.png // 在utils.js中被引用,用于报错时显示个默认的图标
| |-- utils.js // 静态资源路径配置、样式文件的loaders配置
| |-- vue-loader.conf.js // vue-loader的一些配置
| |-- webpack.base.conf.js // webpack基本配置
| |-- webpack.dev.conf.js // webpack开发环境配置
| |-- webpack.prod.conf.js // webpack生产环境配置
|-- config // 生产环境与开发环境相关路径、代理、环境变量等,需要自己配置
| |-- dev.env.js // 设置开发环境变量
| |-- index.js // 开发和生产环境下的用户配置
| |-- prod.env.js // 设置生产环境变量
|-- src // 项目源码
| |-- assets // 资源目录
| | |-- logo.png
| |-- components // vue公共组件目录
| | |-- HelloWorld.vue
| |-- router // 路由配置目录
| | |-- index.js
| |-- App.vue // 根组件
| |-- main.js // 程序入口文件,加载各种公共组件
|-- static // 纯静态文件,比如一些图片,字体,media数据等
| |-- .gitkeep // 只是为了让git能上传static空文件夹
|-- .babelrc // ES6语法编译配置
|-- .editorconfig // 定义项目的编码规范,优先级比编辑器本身的设置高
|-- .eslintignore // eslint规则需要忽略的文件夹或文件格式
|-- .eslintrc.js // eslint配置
|-- .gitignore // git上传需要忽略的文件格式
|-- .postcssrc.js // 默认支持postcss, postcss的一些配置
|-- index.html // 入口页面模板
|-- package.json // 安装包详情
|-- README.md // 项目说明
|-- yarn.lock // 锁定安装依赖的版本
.
针对这份生成的项目文件,你可能想了解更多东西(选读,暂时不理解也没关系)
- vue-cli@2.9.6-build目录下build.js文件详解
- vue-cli@2.9.6-build目录下check-version.js文件详解
- vue-cli@2.9.6-build目录下utils.js文件详解
- vue-cli@2.9.6-build目录下vue-loader.conf.js文件详解
- vue-cli@2.9.6-build目录下webpack.base.conf.js文件详解
- vue-cli@2.9.6-build目录下webpack.dev.conf.js文件详解
- vue-cli@2.9.6-build目录下webpack.prod.conf.js文件详解
- vue-cli@2.9.6-config目录下index.js文件详解
参考链接:
https://www.cnblogs.com/ye-hcj/category/1139190.html
https://segmentfault.com/a/1190000012472099
https://vuejs-templates.github.io/webpack/
4. 还需要做什么?
4.1 关于eslint中的standard规范
一般情况下,vue-cli官方并不推荐我们去改build里面的配置文件,而是建议我们去修改config/index.js文件。记得以前刚开始的时候有些博客教人去改build/weppack.dev.conf.js里面关于eslint蒙层显示的问题,因为他们很不习惯eslint规则,总是写一句话就报一个错。其实这是错误的做法。而且并不建议大家把config/index.js中的useEslint设为false。
其实对于这个问题挺好解决的:
开发环境:vscode做vue项目时的一些配置
4.2 如何让其他人也可以访问你的本地开发项目
当你想让页面不仅仅是在你自己电脑上可访问,还希望可以用手机扫码访问,或者让其它同事帮忙一起调试
你可以修改 config/index.js中的dev
host: '0.0.0.0',
扫码访问的问题,可以装一个谷歌扩展插件,比如草料二维码
5. 踩坑记录
...这些天总结上面的文件详解有点伤,暂时没想起来其它曾经踩过的坑了,发现以前的遇到问题了都是随手一百度,想想有些好像是让我去改build里面的配置...等过几天上了vue-cli@3.x再总结吧,vue-cli@2.x的一些坑说不定到3.x之后就没有了呢。哈哈
vue-cli@3.x初体验之前篇-回顾vue-cli@2.x创建项目的流程的更多相关文章
- 基于 Webpack & Vue & Vue-Router 的 SPA 初体验
基于 Webpack & Vue & Vue-Router 的 SPA 初体验 本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com ...
- 【腾讯Bugly干货分享】基于 Webpack & Vue & Vue-Router 的 SPA 初体验
本文来自于腾讯bugly开发者社区,非经作者同意,请勿转载,原文地址:http://dev.qq.com/topic/57d13a57132ff21c38110186 导语 最近这几年的前端圈子,由于 ...
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十六 ║Vue基础:ES6初体验 & 模块化编程
缘起 昨天说到了<从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 十五 ║ Vue前篇:JS对象&字面量&this>,通过总体来看,好像大家对这一块不是很 ...
- (转)Delphi2009初体验 - 语言篇 - 智能指针(Smart Pointer)的实现
转载:http://www.cnblogs.com/felixYeou/archive/2008/08/27/1277250.html 快速导航 一. 回顾历史二. 智能指针简介三. Delphi中 ...
- SDDC的Windows初体验-QT篇
前言 如果熟悉爱智和看过我之前文章的朋友见到这篇文章一定会有很大疑问,SDDC 作为智能设备发现控制协议,怎么会用在 windows 上? 这一切还是源自于我巨大的脑洞,因为这段在搞 Windows ...
- vue学习指南:第十二篇(详细) - Vue的 路由 第二篇 ( 路由按需加载(懒加载))
各位朋友 因 最近工作繁忙,小编停更了一段时间,快过年了,小编祝愿 大家 事业有成 学业有成 快乐健康 2020开心过好每一天.从今天开始 我会抽时间把 Vue 的知识点补充完整,以及后期会带给大家更 ...
- vue学习指南:第十四篇(详细) - Vue的 路由 第四篇 ( 路由的导航守卫 )
导航守卫 一.全局导航守卫 1. 全局导航守卫,把方法给 router,只要路由发生改变跳转都会触发这个函数 2. 每个路由 都有一个 meta 3. 全局导航守卫分两种: 1. 全局前置导航守卫:路 ...
- Vue CLI 3.x 简单体验
文档 中文文档 补充于02月10日 vue脚手架的3.x版本已经在开发中,现在还处于alpha版本.我们来看看有哪些变化. 使用 npm install -g @vue/cli 命名方式已经改为npm ...
- 文档数据库RavenDB-介绍与初体验
文档数据库RavenDB-介绍与初体验 阅读目录 1.RavenDB概述与特性 2.RavenDB安装 3.C#开发初体验 4.RavenDB资源 不知不觉,“.NET平台开源项目速览“系列文章已经1 ...
随机推荐
- Ionic 2: ReferenceError: webpackJsonp is not defined
I'm new to Ionic. I have started project with super template. But when I try to run the app in brows ...
- 3790:最短路径问题(HDU)
Problem Description 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费,如果最短距离有多条路线,则输出花费最少的. Inp ...
- 新增 修改,对xx名字或者其他属性做校验判断是否存在
需求描述:页面输入完xxName和xx编码,点击提交,根据两项内容做重复校验(就是看看数据库里有木有相同的) 解决思路:把这两个东西作为查询条件去查,查到有记录,提示已存在,就不执行新增或者修改操作. ...
- Niagara 泵阀
1.泵阀系统 2.Niagara 每次在启动workbench的时候安装一下daemon,后启动platform 启动station的时候,当station的status变成Running之后启动
- loadrunner获取当前日期、明日日期、昨日日期
DATE_NOW(现在的日期) TIME_NOW(现在的时间) ONE_DAY(一天的时间) ONE_HOUR(一小时的时间) ONE_MIN(一分钟的时间) 可以使用公式获取昨天明天,例如: DAT ...
- 原创 《算法》java第四版,标准输入
<算法>学习过程中,在eclipse里调试时,对于官方提供的源码中标准输入的操作,没有搞懂 自己改了一下,直接读取本地测试数据测试数据可在http://algs4.cs.princet ...
- bootstrap-table 刷新页面数据
bom.bootstrapTable('load',msg['object']);//这一步 务必要添加. if(msg['code']==1){ bom.find('tbody').css('dis ...
- 有一个字典对象,d = {'a':1,'b':2},请用尽量简洁的代码将d转换成{1: 'a', 2: 'b'}
题目:有一个字典对象,d = {'a':1,'b':2},请用尽量简洁的代码将d转换成{1: 'a', 2: 'b'} 第一种方法: d = {'a': 1, 'b': 2}d = {value: k ...
- HDU 2112 HDU Today(最短路径+map)
HDU Today Time Limit: 15000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total ...
- NEST - 编写布尔查询
Writing bool queries Version:5.x 英文原文地址:Writing bool queries 在使用查询 DSL 时,编写 bool 查询会很容易把代码变得冗长.举个栗子, ...