VUE 完整项目构建 -- 进阶篇

前置条件:

  1. 熟悉使用 Javascript + HTML5 + css3。
  2. 理解 ES2015 Module 模块(export、import、export-default)。
  3. 了解 nodejs 基础知识,npm 常用命令,以及 npm script 使用 (vue 项目中使用 npm 进行包管理)。
  4. 了解 webpack 打包工具 (常用配置选项以及 loader 概念)。(webpack https://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 }
})

// 现在,应用已经启动了!

Next

下节一起讨论网络请求与组件的创建。

「未完待续」


原文发布于微信公众号 - coding01(coding01)

原文发表时间:2018-02-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏十月梦想

node模块之url模块初始

url模块初始:url是node提供的网址服务的一个模块!使用可以快速进行相对应的模块分析!

1002
来自专栏抠抠空间

Django基本命令

下载Django pip3 install django #默认下载最新版 pip3 install django==1.11.1...

3426
来自专栏python3

python导入模块--import--2

在跟之前test_import_color_print.py同级目录下创建testimport.py文件,不然导模块会有问题

912
来自专栏轻扬小栈

Xware Desktop linux下的迅雷 — ubuntu 14.04 安装

6097
来自专栏点点滴滴

Centos7 配置默认防火墙Firewalld

2234
来自专栏NetCore

微信快速开发框架(三)-- 建立微信公众平台测试账号

为了测试我的快速微信开发框架,建议大家可以申请一个测试账号进行测试,稍后我也会开一个微信公众账号(不过目前很麻烦,还要我手拿身份证拍照,囧!) 第一步:您要有一...

2219
来自专栏咖啡的代码人生

IDEA/Git 设置多个push远程仓库或者同时提交多个push仓库

具体解决办法: 在隐藏文件.git 下有个config文件,打开,在最后一行添加以下信息 [remote "all"] url = https...

5007
来自专栏JAVA同学会

解决IDEA无法安装插件的问题

进入2018年以来,在IDEA插件中心中,安装插件经常安装失败,报连接超时的错误。如下:

3492
来自专栏mathor

Tomcat初步

 启动Tomcat是通过双击bin/startup.bat,测试是否启动成功,主要是通过访问localhost:8080,如果后期有需要修改访问的端口,可以通过...

1192
来自专栏IT派

Vue + Node + Mongodb 开发一个完整博客流程

前言 前段时间刚把自己的个人网站写完, 于是这段时间因为事情不是太多,便整理了一下,写了个简易版的博客系统。 服务端用的是 koa2框架 进行开发。 技术栈 ...

5305

扫码关注云+社区