Vue完整项目构建(进阶篇)


Posted in Javascript onFebruary 10, 2018

前置条件:

  1. 熟悉使用 Javascript + HTML5 + css3。
  2. 理解 ES2015 Module 模块(export、import、export-default)。
  3. 了解 nodejs 基础知识,npm 常用命令,以及 npm script 使用 (vue 项目中使用 npm 进行包管理)。
  4. 了解 webpack 打包工具 (常用配置选项以及 loader 概念)。(webpack webpack.github.io/ 是一个模块打包工具。它将一堆文件中的每个文件都作为一个模块,找出它们的依赖关系,将它们打包为可部署的静态资源。webpack 的使用也需要 npm 的安装方式)。

开始安装:

使用 vue-cli 构建大型单页应用:vue.js 的脚手架工具。

执行下述代码,即可完成项目基础构建(已配置好 webpack、依赖包的安装、基本目录的生成)。

# 全局安装 vue-cli
$ npm install --global vue-cli
# 创建一个基于 webpack 模板的新项目
$ vue init webpack my-project
# 安装依赖,走你
$ cd my-project
$ npm install
$ npm run dev

主要目录:

├── build // webpack的基本配置、开发环境配置、生产环境配置
 ├── config // 路径、端口以及反向代理配置
 ├── dist // webpack打包后的静态资源
 ├── node_modules // npm安装的依赖包
 ├── src // 前端主文件
 │ ├── assets // 静态资源
 │ │ ├── font
 │ │ ├── img
 │ │ └── scss
 │ ├── components // 单个组件
 │ │ ├── xxx.vue // 单文件组件
 │ ├── router // 路由配置
 │ ├── store // 全局变量
 │ ├── App.vue // App组件
 │ ├── main.js 主入口文件
 ├── static // 静态文件
 ├── .babelrc // babel的配置项
 ├── .editorconfig // 编辑器的配置项
 ├── .gitignore // 会忽略语法检查的目录
 ├── index.html // 入口页面
 ├── package.json // 项目的描述和依赖

package.json文件说明:项目的描述和依赖

1. scripts:编译项目的一些命令

例:执行 npm run dev ,即执行 scripts 中对应的 node build/dev-server.js

2. dependencies:项目发布时的依赖

例:执行 npm install wx --save ,即安装依赖模块 wx。

3. devDependencies:项目开发时的依赖

例:执行 npm install sass --save-dev ,即安装依赖模块 sass。

附:npm 相关说明:

npm 为 Node.js 版本管理和依赖包管理工具,通过 node 环境来安装前端构建项目所需依赖包。

npm 安装下载速度过慢,使用淘宝镜像 cnpm install 快速安装。设置方法:

$ npm install -g cnpm --registry=https://registry.npm.taobao.org

项目加载过程:

Vue完整项目构建(进阶篇) 

1. index.html 页面

当前构建项目为 SPA (单页面应用),index.html 页面即为入口页面,进行meta 等相关页面配置。

​该页面的 <div id="app"></div> 挂载了主组件。

2. main.js:主入口文件

​注: 在 webpack.base.config 中设置 -> entry: { app: './src/main.js'}

​该文件初始化 vue 实例并引入相应模块 (引入前需确认在 package.json 中进行配置并安装),附 main.js 引入及说明:

​ import Vue from 'vue' // 引入vue
​ import App from './App' // 引入主组件App.vue
​ import router from './router' // 引入路由配置文件
​ import axios from 'axios' // 引入网络请求工具axios

3. App.vue:主组件

​在 index.html 入口页面中挂载了主组件,并在 main.js 主入口文件中引入了主组件。

​创建了其他组件 (例: /src/components/xxx.vue )后,通过路由配置即可渲染在当前主组件中。

4. 路由配置 vue-router

​路由配置:将组件 (components) 映射到路由 (routes),然后告诉 vue-router 在哪里渲染它们

npm install vue-router
import Vue from 'vue'
import Router from 'vue-router'
Vue.use(Router)
// 1.定义(路由)组件:import (当前应用中为单文件组件)。
import Home from '../components/Home.vue'
// 2. 定义路由并创建 router 实例,然后传 `routes` 配置
// 每个路由应该映射一个组件。
var router = {}
export default router = new Router({
 routes: [
 {
 path: '/',
 name: 'home',
 component: Home
 }
 ]
})
// 3. 在main.js主入口文件中创建和挂载根实例。
// 记得要通过 router 配置参数注入路由,
// 从而让整个应用都有路由功能
new Vue({
 el: '#app',
 router,
 template: '<App/>',
 components: { App }
})
// 现在,应用已经启动了!

总结

以上所述是小编给大家介绍的Vue完整项目构建,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
User Scripts: Video Download by User Scripts
May 14 Javascript
javascript中关于break,continue的特殊用法与介绍
May 24 Javascript
js获取UserControl内容为拼html时提供方便
Nov 02 Javascript
js使用递归解析xml
Dec 12 Javascript
js模拟淘宝网的多级选择菜单实现方法
Aug 18 Javascript
Javascript中的几种继承方式对比分析
Mar 22 Javascript
js判断数组key是否存在(不用循环)的简单实例
Aug 03 Javascript
jQuery实现获取元素索引值index的方法
Sep 18 Javascript
EasyUI学习之DataGird分页显示数据
Dec 29 Javascript
js实现简单的网页换肤效果
Jan 18 Javascript
微信小程序 wx:for的使用实例详解
Apr 27 Javascript
JavaScript canvas实现围绕旋转动画
Nov 18 Javascript
JS简单获得节点元素的方法示例
Feb 10 #Javascript
JS简单添加元素新节点的方法示例
Feb 10 #Javascript
vue.js系列中的vue-fontawesome使用
Feb 10 #Javascript
集成vue到jquery/bootstrap项目的方法
Feb 10 #jQuery
vue.js分页中单击页码更换页面内容的方法(配合spring springmvc)
Feb 10 #Javascript
vue2.0组件之间传值、通信的多种方式(干货)
Feb 10 #Javascript
webpack 4.0.0-beta.0版本新特性介绍
Feb 10 #Javascript
You might like
php中用socket模拟http中post或者get提交数据的示例代码
2013/08/08 PHP
smarty中js的调用方法示例
2014/10/27 PHP
PHP实现基于图的深度优先遍历输出1,2,3...n的全排列功能
2017/11/10 PHP
基于laravel Request的所有方法详解
2019/09/29 PHP
Javascript Math ceil()、floor()、round()三个函数的区别
2010/03/09 Javascript
JQquery的一些使用心得分享
2012/08/01 Javascript
ie下jquery.getJSON的缓存问题的处理方法
2013/03/29 Javascript
html文件中jquery与velocity变量中的$冲突的解决方法
2013/11/01 Javascript
js判断游览器类型及版本号的代码
2014/05/11 Javascript
Javascript基础教程之JavaScript语法
2015/01/18 Javascript
JS实现控制表格内指定单元格内容对齐的方法
2015/03/30 Javascript
JS获得图片alt信息的方法
2015/04/01 Javascript
jQuery实现的可编辑表格完整实例
2016/06/20 Javascript
基于Vuejs框架实现翻页组件
2020/06/29 Javascript
vue 进阶之实现父子组件间的传值
2019/04/26 Javascript
JS自定义右键菜单实现代码解析
2020/07/16 Javascript
python实现进程间通信简单实例
2014/07/23 Python
Python中字符串格式化str.format的详细介绍
2017/02/17 Python
python利用正则表达式搜索单词示例代码
2017/09/24 Python
详解Python if-elif-else知识点
2018/06/11 Python
Python+OpenCV图片局部区域像素值处理改进版详解
2019/01/23 Python
Python Pandas分组聚合的实现方法
2019/07/02 Python
如何快速一次性卸载所有python包(第三方库)呢
2020/10/20 Python
selenium与xpath之获取指定位置的元素的实现
2021/01/26 Python
美国经典刺绣和字母儿童服装特卖:Smocked Auctions
2018/07/16 全球购物
雅诗兰黛澳大利亚官网:Estée Lauder澳大利亚
2019/05/31 全球购物
美国排名第一的葡萄酒俱乐部:Firstleaf Wine Club
2020/01/02 全球购物
Chi Chi London官网:购买连衣裙和礼服
2020/10/25 全球购物
盛大笔试题
2016/11/05 面试题
期末总结的个人自我评价
2013/11/02 职场文书
生物制药自我鉴定
2014/01/25 职场文书
课堂教学改革实施方案
2014/03/17 职场文书
多媒体编辑专业毕业生求职信
2014/06/13 职场文书
超搞笑婚前保证书
2015/05/08 职场文书
Android自定义scrollview实现回弹效果
2022/04/01 Java/Android
kubernetes集群搭建Zabbix监控平台的详细过程
2022/07/07 Servers