详解使用vue-cli脚手架初始化Vue项目下的项目结构


Posted in Javascript onMarch 08, 2018

vue-cli是Vue 提供的一个官方命令行工具,可用于快速搭建大型单页应用。该工具提供开箱即用的构建工具配置,带来现代化的前端开发流程。只需几分钟即可创建并启动一个带热重载、保存时静态检查以及可用于生产环境的构建配置的项目。

使用vue-cli有以下几大优势:

  1. vue-cli是一套成熟的Vue项目架构设计,会跟着Vue版本的更迭而更新 
  2. vue-cli提供了一套本地的热加载的测试服务器 
  3. vue-cli集成了一套打包上线的方案,可使用webpack或Browserify等构建工具

安装

下面来安装vue-cli

# 必须全局安装vue-cli,否则无法使用vue命令
# 安装完成之后使用vue -V检查vue-cli是否安装成功及版本信息

$ npm install -g vue-cli
$ vue -V

创建项目

接下来使用vue-cli创建一个新的Vue项目

# 项目创建完之后需要执行npm install安装依赖

$ vue init webpack vuedemo
$ npm install

创建的vuedemo文件夹所包含的文件如下:

详解使用vue-cli脚手架初始化Vue项目下的项目结构

[index.html]

index.html和其他html文件一样,但一般只定义一个空的根节点,在main.js里面定义的实例将挂载在根节点下,内容都通过vue组件来填充,由于所有的挂载元素会被Vue生成的DOM替换,因此不推荐直接挂载实例到 <html> 或者 <body> 上。

详解使用vue-cli脚手架初始化Vue项目下的项目结构

[main.js]

是Vue应用的入口文件,用来创建一个新的Vue实例,并将这个实例挂载在根节点下,同时也可以用来引入Vue插件

详解使用vue-cli脚手架初始化Vue项目下的项目结构

‘el'选项:提供一个在页面上已存在的DOM元素作为Vue实例的挂载目标,这里就是index.html中id为‘app'的节点

‘router'选项:将router实例注入到Vue根实例中,使它的每个子组件都可以访问$router (router实例)和$route (当前激活的路由信息对象)

‘template'选项:以一个字符串模板作为 Vue 实例的标识使用

‘components':根组件

[App.vue]

项目的根组件,可以包含其他的子组件,从而组成组件树

详解使用vue-cli脚手架初始化Vue项目下的项目结构

<template></template>只能包含一个子节点,也就是说顶层的div只能有一个(如图,id为‘app'的div元素没有兄弟节点)

<script></script>通常用es6来写,用export default导出

<style></style>中的样式默认是影响全局的,如需定义作用域只在该组件下起作用,需在标签上加scoped,<style scoped></style>

[router/index.js]

路由配置文件,作用是将组件映射到路由,方便知道在哪里渲染它们

详解使用vue-cli脚手架初始化Vue项目下的项目结构 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
判断多个元素(RADIO,CHECKBOX等)是否被选择的原理说明
Feb 18 Javascript
纯js实现背景图片切换效果代码
Nov 14 Javascript
JS实现字体选色板实例代码
Nov 20 Javascript
jquery表单验证框架提供的身份证验证方法(示例代码)
Dec 27 Javascript
JQuery中Bind()事件用法分析
May 05 Javascript
谈一谈jQuery核心架构设计
Mar 28 Javascript
jQuery unbind 删除绑定事件详解
May 24 Javascript
分享javascript、jquery实用代码段
Oct 20 Javascript
基于JavaScript定位当前的地理位置
Apr 11 Javascript
微信小程序下拉菜单效果的实例代码
May 14 Javascript
VUE兄弟组件传值操作实例分析
Oct 26 Javascript
React中Ref 的使用方法详解
Apr 28 Javascript
改变vue请求过来的数据中的某一项值的方法(详解)
Mar 08 #Javascript
JavaScript满天星导航栏实现方法
Mar 08 #Javascript
vue.js的computed,filter,get,set的用法及区别详解
Mar 08 #Javascript
详解从买域名到使用pm2部署node.js项目全过程
Mar 07 #Javascript
layui select动态添加option的实例
Mar 07 #Javascript
layui表格checkbox选择全选样式及功能的实例
Mar 07 #Javascript
Bootstrap实现可折叠分组侧边导航菜单
Mar 07 #Javascript
You might like
判断PHP数组是否为空的代码
2011/09/08 PHP
php中将一段数据存到一个txt文件中并显示其内容
2014/08/15 PHP
php常用数学函数汇总
2014/11/21 PHP
PHP读取PPT文件的方法
2015/12/10 PHP
ArrayList类(增强版)
2007/04/04 Javascript
input 高级限制级用法
2009/03/26 Javascript
浏览器打开层自动缓慢展开收缩实例代码
2013/07/04 Javascript
ParseInt函数参数设置介绍
2014/01/02 Javascript
Jquery中扩展方法extend使用技巧
2014/08/24 Javascript
JS模拟键盘打字效果的方法
2015/08/05 Javascript
浅析JavaScript访问对象属性和方法及区别
2015/11/16 Javascript
Javascript技术栈中的四种依赖注入详解
2016/02/23 Javascript
Boostrap模态窗口的学习小结
2016/03/28 Javascript
基于BootStarp的Dailog
2016/04/28 Javascript
简单谈谈JS数组中的indexOf方法
2016/10/13 Javascript
AngularJS基于ui-route实现深层路由的方法【路由嵌套】
2016/12/14 Javascript
Javascript DOM事件操作小结(监听鼠标点击、释放,悬停、离开等)
2017/01/20 Javascript
mpvue将vue项目转换为小程序
2018/09/30 Javascript
用Object.prototype.toString.call(obj)检测对象类型原因分析
2018/10/11 Javascript
JQuery判断radio单选框是否选中并获取值的方法
2019/01/17 jQuery
vue中 数字相加为字串转化为数值的例子
2019/11/07 Javascript
[01:58]2018DOTA2亚洲邀请赛趣味视频——交流
2018/04/03 DOTA
Python实现的破解字符串找茬游戏算法示例
2017/09/25 Python
Python实现生成随机日期字符串的方法示例
2017/12/25 Python
Python中按键来获取指定的值
2019/03/02 Python
Django中多种重定向方法使用详解
2019/07/17 Python
Python产生一个数值范围内的不重复的随机数的实现方法
2019/08/21 Python
Python hashlib加密模块常用方法解析
2019/12/18 Python
解决Python 异常TypeError: cannot concatenate 'str' and 'int' objects
2020/04/08 Python
Django框架配置mysql数据库实现过程
2020/04/22 Python
ITK 实现多张图像转成单个nii.gz或mha文件案例
2020/07/01 Python
Python+Opencv身份证号码区域提取及识别实现
2020/08/25 Python
weblogic面试题
2016/03/07 面试题
公司人力资源的自我评价
2014/01/02 职场文书
2014最新预备党员思想汇报范文:中国梦,我的梦
2014/10/25 职场文书
资料员岗位职责
2015/02/10 职场文书