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 在网页中的运用(asp.net)
Nov 23 Javascript
js动态添加删除,后台取数据(示例代码)
Nov 25 Javascript
Javascript中实现trim()函数的两种方法
Feb 04 Javascript
JS+CSS实现实用的单击输入框弹出选择框的方法
Feb 28 Javascript
javascript包装对象实例分析
Mar 27 Javascript
JavaScript如何动态创建table表格
Aug 02 Javascript
Bootstrap每天必学之面板
Nov 30 Javascript
JavaScript 总结几个提高性能知识点(推荐)
Feb 20 Javascript
layui 给数据表格加序号的方法
Aug 20 Javascript
JQuery模拟实现网页中自定义鼠标右键菜单功能
Nov 14 jQuery
webpack安装配置与常见使用过程详解(结合vue)
Jun 01 Javascript
vue.js click点击事件获取当前元素对象的操作
Aug 07 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
与数据库连接
2006/10/09 PHP
谈谈新手如何学习PHP
2006/12/23 PHP
详解php语言最牛掰的Laravel框架
2017/11/20 PHP
PHP设计模式之原型模式定义与用法详解
2018/04/03 PHP
用js+xml自动生成表格的东西
2006/12/21 Javascript
Jquery替换已存在于element上的event的方法
2010/03/09 Javascript
SinaEditor使用方法详解
2013/12/28 Javascript
jQuery插件kinMaxShow扩展效果用法实例
2015/05/04 Javascript
Angular Module声明和获取重载实例代码
2016/09/14 Javascript
Javascript中函数名.length属性用法分析(对比arguments.length)
2016/09/16 Javascript
node.js实现回调的方法示例
2017/03/01 Javascript
angular学习之ngRoute路由机制
2017/04/12 Javascript
Angular 4根据组件名称动态创建出组件的方法教程
2017/11/01 Javascript
详解vue-cli 接口代理配置
2017/12/13 Javascript
ES6中let 和 const 的新特性
2018/09/03 Javascript
微信小程序使用map组件实现解析经纬度功能示例
2019/01/22 Javascript
vue实现在线预览pdf文件和下载(pdf.js)
2019/11/26 Javascript
Python安装第三方库的3种方法
2015/06/21 Python
详谈Python3 操作系统与路径 模块(os / os.path / pathlib)
2018/04/26 Python
基于数据归一化以及Python实现方式
2018/07/11 Python
Django ImageFiled上传照片并显示的方法
2019/07/28 Python
Python 使用list和tuple+条件判断详解
2019/07/30 Python
python实现网站用户名密码自动登录功能
2019/08/09 Python
Python 实现Serial 与STM32J进行串口通讯
2019/12/18 Python
python加密解密库cryptography使用openSSL生成的密匙加密解密
2020/02/11 Python
La Senza官网:北美顶尖性感内衣品牌
2018/08/03 全球购物
法律专业应届生自荐信范文
2014/01/06 职场文书
甜点店创业计划书
2014/01/27 职场文书
入学生会自荐书范文
2014/02/05 职场文书
《雨霖铃》听课反思
2014/02/13 职场文书
房屋出租协议书
2014/04/10 职场文书
三分钟自我介绍演讲稿
2014/08/21 职场文书
政风行风评议整改方案
2014/09/15 职场文书
技术入股合作协议书
2014/10/07 职场文书
Java实现聊天机器人完善版
2021/07/04 Java/Android
Python实现仓库管理系统
2022/05/30 Python