Vue笔记:vue-cli快速生成一个 vue 的项目模板

作者:神秘网友 发布时间:2020-09-27 16:55:01

Vue笔记:vue-cli快速生成一个 vue 的项目模板

Vue笔记:vue-cli快速生成一个 vue 的项目模板

文章目录

  • vue-cli
        • 一、需要的环境
        • 二、第一个 vue-cli 应用程序
        • 三、初始化并运行
        • 四、Vue-cli目录结构
        • 五、src 目录
        • main.js
        • App.vue

vue-cli

vue-cli 官方提供的一个脚手架,用于快速生成一个 vue 的项目模板;

预先定义好的目录结构及基础代码,就好比咱们在创建 Maven 项目时可以选择创建一个骨架项目,这个骨架项目就是脚手架,我们的开发更加的快速;

主要的功能:

  • 统一的目录结构
  • 本地调试
  • 热部署
  • 单元测试
  • 集成打包上线

一、需要的环境

  • Node.js : http://nodejs.cn/download/
    安装就无脑下一步就好,安装在自己的环境目录下
  • Git : https://git-scm.com/downloads
    镜像:https://npm.taobao.org/mirrors/git-for-windows/

确认nodejs安装成功:

  • cmd 下输入 node -v,查看是否能够正确打印出版本号即可!
  • cmd 下输入 npm-v,查看是否能够正确打印出版本号即可!

这个npm,就是一个软件包管理工具,就和linux下的apt软件安装差不多!

安装 Node.js 淘宝镜像加速器(cnpm)

这样子的话,下载会快很多

# -g 就是全局安装
npm install cnpm -g

# 或使用如下语句解决 npm 速度慢的问题
npm install --registry=https://registry.npm.taobao.org

安装过程可能有点慢~,耐心等待!虽然安装了cnpm,但是尽量少用!

安装的位置:C:\Users\Administrator\AppData\Roaming\npm

Vue笔记:vue-cli快速生成一个 vue 的项目模板

安装 vue-cli

cnpm install vue-cli -g

# 测试是否安装成功
# 查看可以基于哪些模板创建 vue 应用程序,通常我们选择 webpack
vue list

二、第一个 vue-cli 应用程序

  1. 创建一个Vue项目,我们随便建立一个空的文件夹在电脑上,我这里在D盘下新建一个目录D:\Project\vue-study;

  2. 创建一个基于 webpack 模板的 vue 应用程序

    # 这里的 myvue 是项目名称,可以根据自己的需求起名
    vue init webpack myvue
    

    选no则手动安装

说明:

  • Project name:项目名称,默认 回车 即可
  • Project description:项目描述,默认 回车 即可
  • Author:项目作者,默认 回车 即可
  • Install vue-router:是否安装 vue-router,选择 n 不安装(后期需要再手动添加)
  • Use ESLint to lint your code:是否使用 ESLint 做代码检查,选择 n 不安装(后期需要再手动添加)
  • Set up unit tests:单元测试相关,选择 n 不安装(后期需要再手动添加)
  • Setup e2e tests with Nightwatch:单元测试相关,选择 n 不安装(后期需要再手动添加)
  • Should we run npm install for you after the project has been created:创建完成后直接初始化,选择 n,我们手动执行

三、初始化并运行

cd myvue
npm install
npm run dev

执行完成后,目录多了很多依赖

Vue笔记:vue-cli快速生成一个 vue 的项目模板

安装并运行成功后在浏览器输入:http://localhost:8080

Vue笔记:vue-cli快速生成一个 vue 的项目模板

四、Vue-cli目录结构

  • build 和 config:WebPack 配置文件
  • node_modules:用于存放 npm install 安装的依赖文件
  • src: 项目源码目录
  • static:静态资源文件
  • .babelrc:Babel 配置文件,主要作用是将 ES6 转换为 ES5
  • .editorconfig:编辑器配置
  • eslintignore:需要忽略的语法检查配置文件
  • .gitignore:git 忽略的配置文件
  • .postcssrc.js:css 相关配置文件,其中内部的 module.exports 是 NodeJS 模块化语法
  • index.html:首页,仅作为模板页,实际开发时不使用
  • package.json:项目的配置文件
    • name:项目名称
    • version:项目版本
    • description:项目描述
    • author:项目作者
    • scripts:封装常用命令
    • dependencies:生产环境依赖
    • devDependencies:开发环境依赖

五、src 目录

src 目录是项目的源码目录,所有代码都会写在这里

main.js

项目的入口文件,我们知道所有的程序都会有一个入口

// The Vue build version to load with the `import` command
// (runtime-only or standalone) has been set in webpack.base.conf with an alias.
import Vue from 'vue'
import App from './App'

Vue.config.productionTip = false;

/* eslint-disable no-new */
new Vue({
  el: '#app',
  components: { App },
  template: '<App/>'
});
  • import Vue from 'vue':ES6 写法,会被转换成 require(“vue”); (require 是 NodeJS 提供的模块加载器)

  • import App from './App':意思同上,但是指定了查找路径,./ 为当前目录

  • Vue.config.productionTip = false:关闭浏览器控制台关于环境的相关提示

  • new Vue({...}):实例化 Vue

    • el: '#app':查找 index.html 中 id 为 app 的元素

    • template: '<App/>':模板,会将 index.html 中

      替换为

    • components: { App }:引入组件,使用的是 import App from ‘./App’ 定义的 App 组件;

App.vue

<template>
  <div id="app">
    <img src="./assets/logo.png">
    <HelloWorld/>
  </div>
</template>

<script>
import HelloWorld from './components/HelloWorld'

export default {
  name: 'App',
  components: {
    HelloWorld
  }
}
</script>

<style>
#app {
  font-family: 'Avenir', Helvetica, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-align: center;
  color: #2c3e50;
  margin-top: 60px;
}
</style>
  • template:HTML 代码模板,会替换 中的内容
  • import HelloWorld from ‘./components/HelloWorld’:引入 HelloWorld 组件,用于替换 template 中的
  • export default{…}:导出 NodeJS 对象,作用是可以通过 import 关键字导入
    • name: ‘App’:定义组件的名称
    • components: { HelloWorld }:定义子组件

Vue笔记:vue-cli快速生成一个 vue 的项目模板相关教程

  1. 抽象工厂模式_学习笔记

    抽象工厂模式_学习笔记 抽象工厂模式(Abstract Factory Pattern)是围绕一个超级工厂创建其他工厂。该超级工厂又称为其他工厂的工厂。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。在抽象工厂模式中,接口是负责创建一个相关对象的工

  2. 窗口重绘笔记

    窗口重绘笔记 窗口的重绘 静态指针的初始化语法 否则报错 EDIT 控件多行显示 绘制png格式的透明背景图片 Step1: 在文件stdafx.h 中 #include gdiplus.h using namespace Gdiplus; #pragma comment(lib,“gdiplus.lib”) 窗口头文件中 声明 ULONG_PTR m_gdipl

  3. xml学习笔记

    xml学习笔记 一、xml简介 E xtensible M arkup L anguage:可扩展标记语言。可扩展指的是标签可以自定义。 XML的使命,就是以一个统一的格式,组织有关系的数据,为不同平台下的应用程序服务。 配置文件 数据交换 数据存储 保存关系型数据 文档申明要写就必须

  4. Java学习笔记

    Java学习笔记 特点一:面向对象性 两要素:类,对象 三个特征:封装,继承,多态 特点二:健壮性 去除 c中的指针 自动的垃圾回收机制 特点三:跨平台性 JVM,JRE,JDK的区别和描述 JVM(Java Virtual Machine)就是一个虚拟的用于执行bytecode字节码的”虚拟计

  5. 第六节:Vue组件化开发(2)-Vue组件初次使用

    第六节:Vue组件化开发(2)-Vue组件初次使用 文章目录 前言 系列文章目录,Vue学习目录,每一章都有代码例子说明 二、Vue组件初次使用 2.1 创建组件的第一种方式: 使用Vue.component创建一个组件 2.2 创建组件的第二种方式: 在Vue实例里注册,先定义好对象,

  6. 数据库及缓存相关

    数据库及缓存相关 《极客时间》学习笔记 如何搭建高性能、高可用的MySQL架构 主从同步:数据冗余、集群搭建、数据备份; 读写分离:减少加锁、提高读写效率; 分库分表:数据表扩容、专库专用、垂直拆分; 数据库优化:慢SQL查询、SQL执行计划; 去中心化:

  7. 第六节:Vue组件化开发(4)-全局组件和局部组件

    第六节:Vue组件化开发(4)-全局组件和局部组件 文章目录 前言 系列文章目录,Vue学习目录,每一章都有代码例子说明 四、Vue-全局组件和局部组件 4.1 什么是全局组件? 4.2 什么是局部组件? 4.3 完整例子 展示效果: ALL:组件模板的学习目录 上一节:第六节

  8. 微服务之路1:搭建Vue开发环境

    微服务之路1:搭建Vue开发环境 1.需要的组件: 1.node.js :安装webpack 需要有node.js 环境 2.npm:node package manager,nodejs的包管理器,用于node插件的安装、卸载、管理以来等。 3.cnpm:因为npm安装插件是从国外服务器下载,受网络的影响比较大,乐于分