JavaScript

超轻量级php框架startmvc

使用 vue.js 构建大型单页应用

更新时间:2020-06-27 13:12:02 作者:startmvc
前置条件:熟悉使用Javascript+HTML5+css3。理解ES2015Module模块(export、import、export-default)。了解node

前置条件:

熟悉使用 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 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

项目加载过程:

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-cli 引入js vue-cli 引入第三方js