详解使用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 相关文章推荐
js变量作用域及可访问性的探讨
Nov 23 Javascript
JQuery自定义事件的应用 JQuery最佳实践
Aug 01 Javascript
JS实现的省份级联实例代码
Jun 24 Javascript
JS正则表达式获取分组内容的方法详解
Nov 15 Javascript
JavaScript使用cookie实现记住账号密码功能
Apr 27 Javascript
实例解析JS布尔对象的toString()方法和valueOf()方法
Oct 25 Javascript
微信小程序 Button 组件详解及简单实例
Jan 10 Javascript
JavaScript数据结构之二叉树的计数算法示例
Apr 13 Javascript
详解ionic本地相册、拍照、裁剪、上传(单图完全版)
Oct 10 Javascript
vue+webpack中配置ESLint
Nov 07 Javascript
vue给对象动态添加属性和值的实例
Sep 09 Javascript
vue学习笔记之slot插槽基本用法实例分析
Feb 01 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
ExtJS与PHP、MySQL实现存储的方法
2010/04/02 PHP
Java和PHP在Web开发方面对比分析
2015/03/01 PHP
1亿条数据如何分表100张到Mysql数据库中(PHP)
2015/07/29 PHP
php图片裁剪函数
2018/10/31 PHP
设定php简写功能的方法
2019/11/28 PHP
JavaScript读取中文cookie时的乱码问题的解决方法
2009/10/14 Javascript
javascript制作坦克大战全纪录(1)
2014/11/27 Javascript
jQuery插件StickUp实现网页导航置顶
2015/04/12 Javascript
JavaScript操作HTML元素和样式的方法详解
2015/10/21 Javascript
jQuery简单操作cookie的插件实例
2016/01/13 Javascript
BootStrap日期控件在模态框中选择时间下拉菜单无效的原因及解决办法(火狐下不能点击)
2016/08/18 Javascript
JavaScript数据结构之数组的表示方法示例
2017/04/12 Javascript
3种vue路由传参的基本模式
2018/02/22 Javascript
微信小程序实现单选选项卡切换效果
2020/06/19 Javascript
layui实现下拉框三级联动
2019/07/26 Javascript
用python读写excel的方法
2014/11/18 Python
用Python编写脚本使IE实现代理上网的教程
2015/04/23 Python
Python的Django框架中的数据过滤功能
2015/07/17 Python
Python获取文件所在目录和文件名的方法
2017/01/12 Python
Django migrations 默认目录修改的方法教程
2018/09/28 Python
对Python 多线程统计所有csv文件的行数方法详解
2019/02/12 Python
解决python super()调用多重继承函数的问题
2019/06/26 Python
Django model select的多种用法详解
2019/07/16 Python
Python3使用 GitLab API 进行批量合并分支
2020/10/15 Python
用pushplus+python监控亚马逊到货动态推送微信
2021/01/29 Python
法国珠宝店:CLEOR
2017/01/29 全球购物
免税水晶:Duty Free Crystal
2019/05/13 全球购物
雷朋巴西官方商店:Ray-Ban Brasil
2020/07/21 全球购物
EJB2和EJB3在架构上的不同点
2014/09/29 面试题
不同浏览器创建XMLHttpRequest方法有什么不同
2014/11/17 面试题
学前教育毕业生自荐信范文
2013/12/24 职场文书
乡下人家教学反思
2014/02/01 职场文书
有创意的广告词
2014/03/18 职场文书
爱护公物标语
2014/06/24 职场文书
HTML5来实现本地文件读取和写入的实现方法
2021/05/25 HTML / CSS
Python可视化动图组件ipyvizzu绘制惊艳的可视化动图
2022/04/21 Python