Vue-2 vue-cli,生命周期,computed,watch,自定义指令

Vue-2 vue-cli,生命周期,computed,watch,自定义指令

vue-cli环境配置、项目安装、目录树

我们使用webpack也可以手动安装配置vue脚手架环境,但是有一套更简单一点的vue-cli的构建工具,大大降低了webpack的使用难度。

一、配置vue的脚手架环境

npm install -g vue-cli

完成之后查看vue版本:

vue -V

如果终端承认vue命令,那么脚手架安装成功,否则要么脚手架安装失败,要么就是需要配置vue的path变量。

二、生成项目模板

1. 查看所有vue命令

vue -h

运行结果:

Options:
  -V, --version  output the version number
  -h, --help     output usage information

Commands:
  init           generate a new project from a template
  list           list available official templates
  build          prototype a new project
  create         (for v3 warning only)
  help [cmd]     display help for [cmd]

2. 构建vue项目

vue init webpack my-pro

在安装过程中,会出现以下一些选择:

? Project name  输入项目名称
? Project description 输入项目描述

? Author 作者

? Vue build 打包方式,回车就好了

? Install vue-router?  选择  Y 使用 vue-router,输入 N 不使用

? Use ESLint to lint your code? 代码规范,推荐 N

? Setup unit tests with Karma + Mocha? 单元测试,推荐 N

? Setup e2e tests with Nightwatch? E2E测试,N

3. 项目的目录结构

├── README.md // 项目说明文档

├── node_modules // 依赖包目录

├── build // webpack相关配置文件(都已配置好,一般无需再配置)

│       ├── build.js  //生成环境构建

│       ├── check-versions.js  //版本检查(node,npm)

│       ├── dev-client.js    //开发服务器热重载 (实现页面的自动刷新) 

│       ├── dev-server.js    //构建本地服务器(npm run dev)

│       ├── utils.js         // 构建相关工具

│       ├── vue-loader.conf.js   //csss 加载器配置

│       ├── webpack.base.conf.js    //webpack基础配置

│       ├── webpack.dev.conf.js     // webpack开发环境配置

│       └── webpack.prod.conf.js     //webpack生产环境配置

├── config // vue基本配置文件(可配置监听端口,打包输出等)

│       ├── dev.env.js // 项目开发环境配置

│       ├── index.js //   项目主要配置(包括监听端口、打包路径等)

│       └── prod.env.js // 生产环境配置

├── index.html // 项目入口文件

├── package-lock.json // npm5 新增文件,优化性能

├── package.json // 项目依赖包配置文件
├── src // 项目核心文件(存放我们编写的源码文件)

│       ├── App.vue // 根组件
        
│       ├── assets // 静态资源(样式类文件、如css,less,和一些外部的js文件)

│       │       └── css  //样式

│       │       └── font  //字体
│       │       └── images  //图片
│       ├── components // 组件目录

│       │       └── Hello.vue // 测试组件

│       ├── main.js // 入口js文件

│       └── router // 路由配置文件夹

│       └── index.js // 路由配置文件

└── static // 静态资源目录(一般存放图片类)

注:assets和static文件夹的区别
assets目录中的文件会被webpack处理解析为模块依赖,只支持相对路径形式。例如,在 background: url(./logo.png)中"./logo.png" 是相对的资源路径,将由Webpack解析为模块依赖。

static/ 目录下的文件并不会被Webpack处理:它们会直接被复制到最终的打包目录(默认是dist/static)下。必须使用绝对路径引用这些文件,这是通过在 config.js 文件中的 build.assetsPublicPathbuild.assetsSubDirectory 连接来确定的。

任何放在 static/ 中文件需要以绝对路径的形式引用:/static/[filename]

在我们实际的开发中,总的来说:static放不会变动的文件 assets放可能会变动的文件。

4. 安装好了之后启动项目

npm run dev

Component的封装、调用

vue-cli开发的是单页面的应用,只有一个 html 文件,在开发时,我们将 整个项目按功能划分成模块,每个模块都可以被任意的复用。高效率,低耦合。

模块的具体呈现形式就是组件,一个模块就是一个组件,每个组件有自己的数据、函数、周期等。

项目默认安装好了之后,可以在 src 文件夹中看到有一个默认的HelloWorld.vue文件。这就是默认安装的组件,一个组件就是一个 vue 文件。

我们在 src 的 components 文件夹中创建组件。

一、组件的基本构成

<template>
    <div class="home">
        
    div>
template>
<script>
    // 当前组件的脚本
    export default {
        // 当前组件的名称
        name: 'Home',
        data () {
            return {
                // 当前组件中所有的数据
            }
        },
        methods: {
            // 当前组件中所有的函数
        }
    }
script>
<style>
    /* 当前组件的样式 */
style>

注:

  • 组件中的结构必须包含在