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 相关文章推荐
js类中获取外部函数名的方法与代码
Sep 12 Javascript
JavaScript高级程序设计(第3版)学习笔记9 js函数(下)
Oct 11 Javascript
js菜单点击显示或隐藏效果的简单实例
Jan 13 Javascript
js clearInterval()方法的定义和用法
Nov 11 Javascript
JavaScript操作select元素和option的实例代码
Jan 29 Javascript
JQuery点击行tr实现checkBox选中的简单实例
May 26 Javascript
AngularJS基础 ng-mouseover 指令简单示例
Aug 02 Javascript
JQuery遍历元素的父辈和祖先的方法
Sep 18 Javascript
JS实现类似51job上的地区选择效果示例
Nov 17 Javascript
微信小程序-图片、录音、音频播放、音乐播放、视频、文件代码实例
Nov 22 Javascript
JavaScript校验Number(4,1)格式的数字实例代码
Mar 13 Javascript
详解基于vue的服务端渲染框架NUXT
Jun 20 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
ThinkPHP中的三大自动简介
2014/08/22 PHP
smarty模板引擎从配置文件中获取数据的方法
2015/01/22 PHP
CI框架数据库查询缓存优化的方法
2016/11/21 PHP
PHP使用finfo_file()函数检测上传图片类型的实现方法
2017/04/18 PHP
浅析PHP开发规范
2018/02/05 PHP
在textarea中屏蔽js的某个function的javascript代码
2007/04/20 Javascript
js中将多个语句写成一个语句的两种方法小结
2007/12/08 Javascript
JS操作Cookies包括(读取添加与删除)
2012/12/26 Javascript
JS去除右边逗号的简单方法
2013/07/03 Javascript
jqueyr判断checkbox组的选中(示例代码)
2013/11/08 Javascript
javascript函数中参数传递问题示例探讨
2014/07/31 Javascript
Js 正则表达式知识汇总
2014/12/02 Javascript
JavaScript实现列表分页功能特效
2015/05/15 Javascript
使用JavaScript实现ajax的实例代码
2016/05/11 Javascript
webpack4之如何编写loader的方法步骤
2019/06/06 Javascript
Python利用ansible分发处理任务
2015/08/04 Python
Python while 循环使用的简单实例
2016/06/08 Python
Python中在脚本中引用其他文件函数的实现方法
2016/06/23 Python
使用pyecharts无法import Bar的解决方案
2020/04/23 Python
Python matplotlib绘图可视化知识点整理(小结)
2018/03/16 Python
python爬取各类文档方法归类汇总
2018/03/22 Python
带你认识Django
2019/01/15 Python
在django中使用apscheduler 执行计划任务的实现方法
2020/02/11 Python
python实现引用其他路径包里面的模块
2020/03/09 Python
基于python 凸包问题的解决
2020/04/16 Python
python实现时间序列自相关图(acf)、偏自相关图(pacf)教程
2020/06/03 Python
django Model层常用验证器及自定义验证器详解
2020/07/15 Python
Pycharm安装python库的方法
2020/11/24 Python
canvas压缩图片以及卡片制作的方法示例
2018/12/04 HTML / CSS
幼儿园保教管理制度
2014/02/03 职场文书
小学生作文评语
2014/04/18 职场文书
危爆物品安全大检查大整治工作方案
2014/05/03 职场文书
旷工辞退通知书
2015/04/17 职场文书
2015年车间管理工作总结
2015/07/23 职场文书
对Golang中的FORM相关字段理解
2021/05/02 Golang
iOS 16进一步确认,一共支持16款iPhone
2022/04/28 数码科技