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 相关文章推荐
jQuery 打造动态渐变按钮 详细图文教程
Apr 25 Javascript
js+csss实现的一个带复选框的下拉框
Sep 29 Javascript
JavaScript中的对象与JSON
Jul 03 Javascript
zepto中使用swipe.js制作轮播图附swipeUp,swipeDown不起效果问题
Aug 27 Javascript
jquery实现经典的淡入淡出选项卡效果代码
Sep 22 Javascript
js性能优化技巧
Nov 29 Javascript
js图片轮播手动切换特效
Jan 12 Javascript
js鼠标经过tab选项卡时实现切换延迟
Mar 24 Javascript
jquery在启动页面时,自动加载数据的实例
Jan 22 jQuery
100行代码实现vue表单校验功能(小白自编)
Nov 19 Javascript
vue+elementUI 实现内容区域高度自适应的示例
Sep 26 Javascript
vue绑定class的三种方法
Dec 24 Vue.js
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
德生PL990的分析评价
2021/03/02 无线电
php 数据库字段复用的基本原理与示例
2011/07/22 PHP
php fsockopen中多线程问题的解决办法[翻译]
2011/11/09 PHP
如何在smarty中增加类似foreach的功能自动加载数据
2013/06/26 PHP
PHP 获取ip地址代码汇总
2015/07/05 PHP
php用户登录之cookie信息安全分析
2016/05/13 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
2021/03/09 PHP
用于节点操作的API,颠覆原生操作HTML DOM节点的API
2010/12/11 Javascript
input:checkbox多选框实现单选效果跟radio一样
2014/06/16 Javascript
JQuery $.each遍历JavaScript数组对象实例
2014/09/01 Javascript
纯JS打造网页中checkbox和radio的美化效果
2016/10/13 Javascript
Nodejs进阶:如何将图片转成datauri嵌入到网页中去实例
2016/11/21 NodeJs
js 发布订阅模式的实例讲解
2017/09/10 Javascript
vue-ajax小封装实例
2017/09/18 Javascript
从零开始用electron手撸一个截屏工具的示例代码
2018/10/10 Javascript
js异步接口并发数量控制的方法示例
2020/11/22 Javascript
Vue.js桌面端自定义滚动条组件之美化滚动条VScroll
2020/12/01 Vue.js
Python列表生成器的循环技巧分享
2015/03/06 Python
使用Python &amp; Flask 实现RESTful Web API的实例
2017/09/19 Python
PyCharm+PySpark远程调试的环境配置的方法
2018/11/29 Python
python getpass实现密文实例详解
2019/09/24 Python
python的sys.path模块路径添加方式
2020/03/09 Python
美国气象仪器、花园装饰和墙壁艺术商店:Wind & Weather
2019/05/29 全球购物
CheapTickets香港机票预订网站:CheapTickets.hk
2019/06/26 全球购物
最新大学生自我评价
2013/09/24 职场文书
历史专业个人求职信范文
2013/12/07 职场文书
运动会100米解说词
2014/01/23 职场文书
双语教学实施方案
2014/03/23 职场文书
应届生求职信范文
2014/05/26 职场文书
挂职学习心得体会
2014/09/09 职场文书
“四风”查摆问题自我剖析材料
2014/09/27 职场文书
预备党员个人总结
2015/02/14 职场文书
家长意见书
2015/06/04 职场文书
实施意见格式范本
2015/06/05 职场文书
公司转让协议书
2016/03/19 职场文书
Python实现提取PDF简历信息并存入Excel
2022/04/02 Python