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 相关文章推荐
JavaScript版代码高亮
Jun 26 Javascript
用jquery ajax获取网站Alexa排名的代码
Dec 12 Javascript
过虑特殊字符输入的js代码
Aug 05 Javascript
jQuery 关于伪类选择符的使用说明
Apr 24 Javascript
js动态设置鼠标事件示例代码
Oct 30 Javascript
js验证电话号码与手机支持+86的正则表达式
Jan 23 Javascript
《JavaScript高级编程》学习笔记之object和array引用类型
Nov 01 Javascript
微信小程序录音与播放录音功能
Dec 25 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
Mar 07 Javascript
JavaScript定时器设置、使用与倒计时案例详解
Jul 08 Javascript
vant 中van-list的用法说明
Nov 11 Javascript
javascript实现电商放大镜效果
Nov 23 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 学习资料零碎东西
2010/12/04 PHP
php 对输入信息的进行安全过滤的函数代码
2012/06/29 PHP
PHP删除目录及目录下所有文件的方法详解
2013/06/06 PHP
php 模拟POST提交的2种方法详解
2013/06/17 PHP
浅析51个PHP处理字符串的函数
2013/08/02 PHP
PHP常见的6个错误提示及解决方法
2016/07/07 PHP
详解Yii2.0使用AR联表查询实例
2017/06/16 PHP
基于swoole实现多人聊天室
2018/06/14 PHP
js动态给table添加/删除tr的方法
2013/08/02 Javascript
js取模(求余数)隔行变色
2014/05/15 Javascript
Javascript学习笔记之函数篇(四):arguments 对象
2014/11/23 Javascript
AngularJS模板加载用法详解
2016/11/04 Javascript
js实现导航栏中英文切换效果
2017/01/16 Javascript
详解nodejs爬虫程序解决gbk等中文编码问题
2017/04/06 NodeJs
使用javaScript实现鼠标拖拽事件
2020/04/03 Javascript
bootstrap响应式工具使用详解
2017/11/29 Javascript
微信小程序WebSocket实现聊天对话功能
2018/07/06 Javascript
Vue props 单向数据流的实现
2018/11/06 Javascript
js实现京东秒杀倒计时功能
2019/01/21 Javascript
Python字典数据对象拆分的简单实现方法
2017/12/05 Python
Python3 合并二叉树的实现
2019/09/30 Python
python3爬虫GIL修改多线程实例讲解
2020/11/24 Python
Foot Locker德国官方网站:美国运动服和鞋类零售商
2018/11/01 全球购物
输入N,打印N*N矩阵
2012/02/20 面试题
怎么可以提高数据库查询数据的速度
2014/06/28 面试题
工程预算与管理应届生求职信
2013/10/06 职场文书
国际贸易专业推荐信
2013/11/15 职场文书
中专生自我鉴定书范文
2013/12/28 职场文书
环保专业大学生职业规划设计
2014/01/10 职场文书
团支部推优材料
2014/05/21 职场文书
上班迟到检讨书300字
2014/10/18 职场文书
JavaWeb实现显示mysql数据库数据
2022/03/19 Java/Android
解决redis批量删除key值的问题
2022/03/23 Redis
把77A收信机改造成收音机
2022/04/05 无线电
MySQL选择合适的备份策略和备份工具
2022/06/01 MySQL
netty 实现tomcat的示例代码
2022/06/05 Servers