【Vue实战之路】一、Vue-cli入门及Vue工程目录全解。
全面的Vue-cli学习,这一篇就够了!
一、下载
使用vue-cli前,需先安装node.js,node的安装就不赘述,不过在此需要注意:
1. node版本需在4.x以上,首推6.x以上版本(node -v 命令查看)
2. npm要求在 3+ 版本以上 (npm -v 命令查看)
vue-cli下载(推荐NPM方式下载)
npm install -g vue-cli
二、项目初始化
vue init webpack firstVue
这里的webpack为vue-cli最常用的模板名(此模板的项目配置包括:一个全功能的Webpack + vue-loader安装程序,带有热重新加载,linting,测试和css提取),firstVue是项目的文件夹名称。
*此时的vue-cli是基于Vue2.x版本,若想换为1.x则使用以下命令:
vue init webpack#1.0 firstVue
官方将模板分为三类:
第一类为官方模板,通过使用 ”vue init 模板名 项目名” 即可初始化项目信息,具体有以下几种:
webpack :”一个全功能的Webpack + vue-loader安装程序,带有热重新加载,linting,测试和css提取。
webpack-simple : 简单的Webpack + vue-loader设置,用于快速原型设计。
browserify :全功能Browserify + vueify设置用热重装载,掉毛&单元测试。
browserify -simple :用于快速原型设计的简单的Browserify + vueify设置。
pwa :基于webpack模板的vue-cli的PWA模板
简单 :一个HTML文件中最简单的Vue设置
第二类为自定义模板,自定义模板需要在github中fork请求,这个会在后续的进阶中提到。
第三类为本地模板,使用 “ vue init〜/ fs / path / to-custom-template my-project ” 命令进行初始化,这个也会在进阶中提到。
三、项目构建
此处先使用最常用的webpack模板,通过 vue init webpack firstVue初始化后,会在当前文件夹下创建firstVue的子文件件,然后键入一下命令完成项目的构建:
cd firstVue
npm install
npm run dev
npm install 用以安装此项目的依赖(此处涉及到包管理器的概念,需要node.js基础),所有的依赖均存放在文件夹下的pack.json里,查看dependence或devDependences等可以查看。
npm run dev 执行脚本命令下的dev命令,此命令的细节可在pack.json文件里查看script下的dev属性
脚本命令执行后,会显示编译是否成功,通过本机的端口可在服务器环境下访问项目。
四、脚手架目录详解:
此处通过使用命令查看当前vue版本为2.9.1,-V的v为大写
vue -V
当前版本的Vue-cli目录如下:
(1)build目录:webpack的配置文件目录
(2)config目录:用于存放生产环境和开发环境的配置文件
(3)node_modules目录:存放整个项目的第三方依赖包文件
(4)src目录:用于存放所有的项目文件(项目源码),其中main.js为整个项目的入口文件
(5)static目录:用于存放第三方资源文件
(6)babelrc文件:存放babel的配置信息,当我们使用高级语法,如es6时,需要使用babel的编译工具,此时会在根目录下生成babelrc文件用于存放编译的配置信息。
{
"presets": [
["env", {
"modules": false
}],
"stage-2"
],
"plugins": ["transform-runtime"],
"env": {
"test": {
"presets": ["env", "stage-2"] }
}
}
presets:预设文件,即babel在编辑高级语法时需要使用的预设编译文件(例如箭头函数编译插件、类编辑插件等),这些预设都可以在node_modules文件夹下找到,env就是一个预设插件,stage-2位草案阶段的高级语法,stage-1代表1,2和3阶段,stage-2代表的是2阶段和3阶段。在node_modules文件夹下也可以找到:如下图:
plugins:设置插件,transform-runtime就是babel的转换插件。
comments:将es6语法转换为es5之后是否增加注释,true为增加
env:对运行环境做配置:test是为在测试环境下做的配置。
(7)editconfig文件:编辑器的配置文件:
root = true [*]
charset = utf-
indent_style = space
indent_size =
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
root = true表示当打开一个文件时,EditorConfig 插件在文件的目录和其每一级父目录查找 .editorconfig 文件,直到有一个配置文件包含 root = true
EditorConfig 配置文件从上往下读取,并且路径最近的文件最后被读取,匹配到的配置按照读取顺序应用在代码上,最接近代码文件的属性优先级最高
[*]表示对所有文件文件使用 editorconfig,也可以指定某种文件格式
charset = utf-8表示设置文件编码格式为 utf-8
indent_style = space表示所有的缩进使用空格,包括 tab 键产生的空白
indent_size = 2表示设置整数表示规定每级缩进的列数
end_of_line = lf表示统一设置换行符,不同操作系统默认使用不同的换行符
windows 是 crlf,即 \r\n
unix 则是 lf ,即 \n
insert_final_newline = true表示文件都以一个空白行结尾
trim_trailing_whitespace = true表示除去换行行首的任意空白字符
(8)eslintignore:eslint代码检查文件设置:
/build/
/config/
/dist/
/*.js
/test/unit/coverage/
此处表示使用eslint对根目录下的所有js文件以及/build/、/config/、/dist/、/test/unit/coverage/四个目录下的所有文件进行代码风格检测。
(9)eslintrc.js文件:对eslint的配置及导出
module.exports = {
root: true, //在父级查找
parser: 'babel-eslint', //确定编译器,babel-eslint基于eslint
parserOptions: { //编译器的配置选项
sourceType: 'module' //文件以包模块的方式导入
},
env: { //配置环境变量
browser: true, //浏览器环境
},
// https://github.com/standard/standard/blob/master/docs/RULES-en.md
extends: 'standard', //代码风格的检测要求,此处要求为标准水平(打开上面链接可查看标准要求的书写规范)
// required to lint *.vue files
plugins: [ //添加规范相应文件类型的插件
'html'
],
// add your custom rules here
//为相应的检测添加规则:
// "off" -> 0 关闭规则
// "warn" -> 1 开启警告规则
//"error" -> 2 开启错误规则
'rules': {
// allow paren-less arrow functions
//箭头函数规则(定义箭头函数使不用写括号)
'arrow-parens': 0,
// allow async-await
//异步规则 允许使用异步语法
'generator-star-spacing': 0,
// allow debugger during development
// 开发过程调试规则 开发环境允许debug 生产环境不允许debug
'no-debugger': process.env.NODE_ENV === 'production' ? 2 : 0
}
}
所有的rules选项均可在https://github.com/standard/standard/blob/master/docs/RULES-en.md查看,并配置到文件中。
(10)gitignore文件:在使用git提交文件时,忽略的文件与文件夹
(11)postcssrc文件:postcss配置文件
(12)index.html项目的入口模板
(13)package.json整个项目的配置信息
(14)README.md:项目的说明文件
【Vue实战之路】一、Vue-cli入门及Vue工程目录全解。的更多相关文章
- 【Vue实战之路】二、路由使用基础,六步搞定Vue-router
vue-router的出现是为了解决路由与视图(实际项目中的单文件组件)的对应关系.若单单为了实现交互时对相应组件的渲染,则通过vue的基础操作完全可以实现,那么为什么要是用vue-router呢,个 ...
- Vue学习之路3-浅析Vue-cli搭建项目后的目录结构
1.前言 Vue并不限制你的代码结构.但是,它规定了一些需要遵守的规则:1.应用层级的状态应该集中到单个store对象中.2.提交mutation是更改状态的唯一方法,并且这个过程是同步的.3.异步逻 ...
- Android入门(二):Android工程目录结构
首先我们来看看Android工程的目录结构,如下图: 下面我们来看看每个文件夹都是用来做什么的? 1.src:这个不用多说,它就是保存Java源文件的目录: 2.gen:该文件夹用来保存自动生成的R. ...
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十一║Vue实战:开发环境搭建【详细版】
缘起 哈喽大家好,兜兜转转终于来到了Vue实战环节,前边的 6 篇关于Vue基础文章我刚刚简单看了看,感觉写的还是不行呀,不是很系统,所以大家可能看上去比较累,还是得抽时间去润润色,修改修改语句和样式 ...
- .NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划
作者:依乐祝 原文地址:https://www.cnblogs.com/yilezhu/p/9977862.html 写在前面 千呼万唤始出来,首先,请允许我长吸一口气!真没想到一份来自28岁老程序员 ...
- net core体系-web应用程序-4asp.net core2.0 项目实战(CMS)-第一章 入门篇-开篇及总体规划
.NET Core实战项目之CMS 第一章 入门篇-开篇及总体规划 原文地址:https://www.cnblogs.com/yilezhu/p/9977862.html 写在前面 千呼万唤始出来 ...
- .NET Core实战项目之CMS 第六章 入门篇-Vue的快速入门及其使用
写在前面 上面文章我给大家介绍了Dapper这个ORM框架的简单使用,大伙会用了嘛!本来今天这篇文章是要讲Vue的快速入门的,原因是想在后面的文章中使用Vue进行这个CMS系统的后台管理界面的实现.但 ...
- 【vue&ts开发】Vue 3.0前的 TypeScript 最佳入门实践
1.使用官方脚手架构建 新的 VueCLI工具允许开发者 使用 TypeScript 集成环境 创建新项目. 只需运行 vue createmy-app. 然后,命令行会要求选择预设.使用箭头键选择 ...
- 从壹开始前后端分离 [ Vue2.0+.NET Core2.1] 二十二║Vue实战:个人博客第一版(axios+router)
前言 今天正式开始写代码了,之前铺垫了很多了,包括 6 篇基础文章,一篇正式环境搭建,就是为了今天做准备,想温习的小伙伴可以再看看<Vue 基础入门+详细的环境搭建>,内容很多,这里就暂时 ...
随机推荐
- Windows完成端口与Linux epoll技术简介
收藏自:http://www.cnblogs.com/cr0-3/archive/2011/09/09/2172280.html WINDOWS完成端口编程1.基本概念2.WINDOWS完成端口的特点 ...
- linux driver error ------ 编译驱动出现 ERROR: Kernel configuration is invalid
ERROR: Kernel configuration is invalid. include/generated/autoconf.h or include/config/au ...
- python常用模块-配置文档模块(configparser)
python常用模块-配置文档模块(configparser) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. ConfigParser模块用于生成和修改常见配置文档,当前模块的名称 ...
- vim编辑器基本操作介绍
vim编辑器基本操作介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 可能很多小伙伴都听说过vi编辑器或是vim编辑器.它们是Unix和Linux世界最流行的编辑器之一,他们的特 ...
- bzoj千题计划195:bzoj2844: albus就是要第一个出场
http://www.lydsy.com/JudgeOnline/problem.php?id=2844 题意:给定 n个数,把它的所有子集(可以为空)的异或值从小到大排序得到序列 B,请问 Q 在 ...
- mybatis 不整合spring 入门小例子
先上一个搭建完的项目结构截图: 相对比较重要的配置文件有 db.properties , SqlMappingConfig.xml , mapper/User.xml , log4j.properti ...
- Comparing Differently Trained Models
Comparing Differently Trained Models At the end of the previous post, we mentioned that the solution ...
- 【LibreOJ】#6392. 「THUPC2018」密码学第三次小作业 / Rsa 扩展欧几里得算法
[题目]#6392. 「THUPC2018」密码学第三次小作业 / Rsa [题意]T次询问,给定正整数c1,c2,e1,e2,N,求正整数m满足: \(c_1=m^{e_1} \ \ mod \ \ ...
- 使用js获取浏览器地址栏里的参数
用JS获取地址栏参数的方法(超级简单) 方法一:采用正则表达式获取地址栏参数:( 强烈推荐,既实用又方便!) function GetQueryString(name) { var reg = new ...
- WEB开发常用软件集合
软件 dreamweaver cs6 http://www.cr173.com/soft/74348.html navicat http://pan.baidu.com/s/1b9nNzw subli ...