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 相关文章推荐
document.all的一个比较完整的总结及案例
Jan 31 Javascript
jquery搜索框效果实现方法
Jan 16 Javascript
浅谈Javascript中的Function与Object
Jan 26 Javascript
jQuery插件windowScroll实现单屏滚动特效
Jul 14 Javascript
jQuery获取同级元素的简单代码
Jul 09 Javascript
Javascript日期格式化format函数的使用方法
Aug 30 Javascript
BootStrap Table 设置height表头与内容无法对齐的问题
Dec 28 Javascript
PHP实现本地图片上传和验证功能
Feb 27 Javascript
js实现音乐播放控制条
Sep 09 Javascript
浅谈webpack性能榨汁机(打包速度优化)
Jan 09 Javascript
three.js利用射线Raycaster进行碰撞检测
Mar 12 Javascript
解决vue的router组件component在import时不能使用变量问题
Jul 26 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连接MSSQL时nvarchar字段长度被截断为255的解决方法
2014/12/25 PHP
PHP面向对象详解(三)
2015/12/07 PHP
解析WordPress中的post_class与get_post_class函数
2016/01/04 PHP
PHP入门教程之数学运算技巧总结
2016/09/11 PHP
刷新时清空文本框内容的js代码
2007/04/23 Javascript
prototype 中文参数乱码解决方案
2009/11/09 Javascript
javascript之querySelector和querySelectorAll使用介绍
2011/12/20 Javascript
Firefox和IE兼容性问题及解决方法总结
2013/10/08 Javascript
探讨JQUERY JSON的反序列化类 using问题的解决方法
2013/12/19 Javascript
js实现类似新浪微博首页内容渐显效果的方法
2015/04/10 Javascript
node.js路径处理方法以及绝对路径详解
2021/03/04 Javascript
原生JS实现日历组件的示例代码
2017/09/22 Javascript
AngularJS的$location使用方法详解
2017/10/19 Javascript
jQuery中ajax请求后台返回json数据并渲染HTML的方法
2018/08/08 jQuery
微信小程序开发(一):服务器获取数据列表渲染操作示例
2020/06/01 Javascript
在Python的框架中为MySQL实现restful接口的教程
2015/04/08 Python
Pythont特殊语法filter,map,reduce,apply使用方法
2016/02/27 Python
python cx_Oracle模块的安装和使用详细介绍
2017/02/13 Python
Python实现的rsa加密算法详解
2018/01/24 Python
遗传算法python版
2018/03/19 Python
python 每天如何定时启动爬虫任务(实现方法分享)
2018/05/21 Python
浅谈Python脚本开头及导包注释自动添加方法
2018/10/27 Python
解决Python一行输出不显示的问题
2018/12/03 Python
Windows系统Python直接调用C++ DLL的方法
2019/08/01 Python
python3下pygame如何实现显示中文
2020/01/11 Python
Python random库使用方法及异常处理方案
2020/03/02 Python
基于python实现查询ip地址来源
2020/06/02 Python
python 多线程死锁问题的解决方案
2020/08/25 Python
python3代码输出嵌套式对象实例详解
2020/12/03 Python
CSS3中文字镂空、透明值、阴影效果设置示例小结
2016/03/07 HTML / CSS
迷你唐卡软皮鞋:Minnetonka Moccasin
2018/05/01 全球购物
Europcar西班牙:全球汽车租赁领域的领导者
2018/09/17 全球购物
竞选班干部演讲稿
2014/04/24 职场文书
学校勤俭节约倡议书
2015/04/29 职场文书
负责培养人意见
2015/06/05 职场文书
Python爬虫:从m3u8文件里提取小视频的正确操作
2021/05/14 Python