详解使用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 相关文章推荐
JavaScript 模仿vbs中的 DateAdd() 函数的代码
Aug 13 Javascript
jQuery入门知识简介
Mar 04 Javascript
javascript实现TreeView 无刷新展开的实例代码
Jul 13 Javascript
JqueryMobile动态生成listView并实现刷新的两种方法
Mar 05 Javascript
Jquery实现自定义弹窗示例
Mar 12 Javascript
js简单实现交换Li的值
May 22 Javascript
js实现jquery的offset()方法实例
Jan 10 Javascript
javascript实现table表格隔行变色的方法
May 13 Javascript
JavaScript之面向对象_动力节点Java学院整理
Jun 29 Javascript
Vue表情输入组件 微信face表情组件
Feb 11 Javascript
浅谈Javascript中的对象和继承
Apr 19 Javascript
vue-cli3.0实现一个多页面应用的历奇经历记录总结
Mar 16 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
snoopy PHP版的网络客户端提供本地下载
2008/04/15 PHP
一步一步学习PHP(6) 面向对象
2010/02/16 PHP
php 使用GD库为页面增加水印示例代码
2014/03/24 PHP
PHP写日志的实现方法
2014/11/05 PHP
PHP如何实现跨域
2016/05/30 PHP
PHP请求远程地址设置超时时间的解决方法
2016/10/29 PHP
PHP使用星号替代用户名手机和邮箱的实现代码
2018/02/07 PHP
php提取微信账单的有效信息
2018/10/01 PHP
PHP单例模式模拟Java Bean实现方法示例
2018/12/07 PHP
js实现图片拖动改变顺序附图
2014/05/13 Javascript
JavaScript判断是否为数字的4种方法及效率比较
2015/04/01 Javascript
jquery实现的美女拼图游戏实例
2015/05/04 Javascript
AngularJS学习笔记之ng-options指令
2015/06/16 Javascript
javascript类型系统 Window对象学习笔记
2016/01/07 Javascript
jQuery实现返回顶部功能
2016/02/23 Javascript
详解Javascript中的原型OOP
2016/10/12 Javascript
JS仿京东移动端手指拨动切换轮播图效果
2020/04/10 Javascript
AngularJS之页面跳转Route实例代码
2017/03/10 Javascript
jQuery遮罩层实例讲解
2017/05/11 jQuery
Vue中如何实现轮播图的示例代码
2017/07/27 Javascript
Vue瀑布流插件的使用示例
2018/09/19 Javascript
微信小程序实现顶部导航特效
2019/01/28 Javascript
vue实现局部刷新的实现示例
2019/04/16 Javascript
ES6 Map结构的应用实例分析
2019/06/26 Javascript
vue 根据选择条件显示指定参数的例子
2019/11/09 Javascript
深入解析微信小程序开发中遇到的几个小问题
2020/07/11 Javascript
vue+echarts+datav大屏数据展示及实现中国地图省市县下钻功能
2020/11/16 Javascript
Python中使用urllib2防止302跳转的代码例子
2014/07/07 Python
Python中查看文件名和文件路径
2017/03/31 Python
python线程池threadpool使用篇
2018/04/27 Python
医科大学毕业生自荐信
2014/02/03 职场文书
2014小学植树节活动总结
2014/03/10 职场文书
会计专业自荐信范文
2019/05/22 职场文书
详解缓存穿透击穿雪崩解决方案
2021/05/28 Redis
Mysql 如何查询时间段交集
2021/06/08 MySQL
浅析Python实现DFA算法
2021/06/26 Python