使用 vue.js 构建大型单页应用
coding01 人气:0前置条件:
熟悉使用 Javascript + HTML5 + css3。
理解 ES2015 Module 模块(export、import、export-default)。
了解 nodejs 基础知识,npm 常用命令,以及 npm script 使用 (vue 项目中使用 npm 进行包管理)。
了解 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 buildhttps://img.qb5200.com/download-x/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
项目加载过程:
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 }
})// 现在,应用已经启动了!
加载全部内容