使用 Vue.js 开发大型应用时,我们需要考虑代码目录结构、项目构建和部署、热加载、代码单元测试等事情。如果每个项目都要手动完成这些工作,那无疑效率是低下的,所以通常我们会使用一些脚手架工具来帮助完成这些事情。在 Vue.js 生态中我们可以使用 vue-cli 脚手架工具来快速构建项目。

(1) 安装之前需要检查是否已经安装NodeJS的环境

可以使用node -v检查,且需要保证安装4.0版本以上的nodejs环境

执行命令node -v 安装的版本为 v6.9.4

如果没有安装则执行下面的步骤:node.js安装过程如下:

node.js相关的网站http://www.cnodejs.org/
 
  • 下载得到压缩文件node-v6.9.4-c64.msi
得到安装包:
  • 双击进行安装
默认的安装路径是C:\Program Files\nodejs
 
  • 查看安装目录
可以发现node.js自带了npm,我们可以直接使用npm安装其他的相关环境即可。
安装命令为 : npm install 组件名称
默认情况下,组件都是安装在C:\Program Files\nodejs\node_modules文件夹下的
但是通常情况下,我们需要安装一个全局的组件,才能够使用
这时安装命令为:npm install 组件名称 -g
  • node.js就安装完成

(2)安装vue-cli

vue-cli 是用 node 编写的命令行工具,我们需要进行全局安装。打开命令行工具,输入指令:

$ npm install -g vue-cli

也可以安装一个npm的淘宝镜像,这样安装快一些

安装命令如下:

npm install -g cnpm --registry=https://registry.npm.taobao.org

安装完成以后,执行如下命令:

$ vue --version

得到安装的vue版本是2.8.1

(3)基本使用

初始化项目
定位到创建项目的目录下
执行命令:vue init 模板类型 项目名称
模板类型可以使用vue list指令查看
项目名称可以自己定义vue

生成项目模板的命令格式为

$ vue init <template-name> <project-name>

<template-name>:模板名,比如 webpack, simple, browserify

<project-name>: 本地文件夹名称

我们可以使用 vue-cli 来快速生成一个基于 Webpack 构建的项目。打开命令行工具,输入如下命令:

$ vue init webpack my-project

所有模板默认安装的是 Vue 2.x 版本,如果需要安装 1.x 版本,需要输入如下指令:$ vue init webpack#1.0 my-project

有一系列交互问题,同意按 y,不同意按 n。

初始化项目之后,查看项目目录如下:

安装命令行给出的提示,我们依次输入如下指令:

$ cd my-project

$ npm install

安装过程如下:

安装完毕以后会在对应的目录下生成如下文件,多了一个node-module文件,里面是依赖的node工具包:

下面对上图目录做一个简要的说明

现在启动项目,输入如下命令:

$ npm run dev

默认监听的是 8080 端口

甚至连 Apche服务器都不需要自己启动,在浏览器中输入 http://localhost:8080,生成的页面如下:

接下来我们打开 src/components/Hello.vue,把数据中的 msg 改成 “你好,世界!”

<script>
export default {
  data () {
    return {
      // note: changing this line won‘t causes changes
      // with hot-reload because the reloaded component
      // preserves its current state and we are modifying
      // its initial state.
      msg: ‘你好,世界!‘
    }
  }
}
</script>

重新刷新页面:

(4)模板

这里对两个命令做进一步拓展介绍:

4-1、init

init 命令用来基于指定模板生成项目结构。前面提到过的,template-name 为模板名,project-name 为要生成的目录名

4-2、list

list 命令用于列出所有可用的模板,通过查询 https://api.github.com/users/vuejs-templates/repos 这个API 接口可以得到所有列表。

命令行输入指令:

$ vue list

前面提到,在执行 init 命令时可以指定模板的名字。在默认情况下,vue-cli 会根据所传入的模板名字去 github 中查找模板。

vue-cli 的模板分为 官方模板、自定义模板、本地模板

(1)、官方模板

上图中就提供了 5种 官方模板:

browserify  --  拥有高级功能的 Browserify + vueify 用于 正式开发

browserify-simple  --  拥有基础功能的 Browserify + vueify 用于 快速开发

simple  --  单个 HTML,用于开发最简单的 Vue.js 应用

webpack  --  拥有高级功能的 Webpack + vue-loader 用于正式开发

webpack-simple  --  拥有基础功能的 Webpack + vue-loader 用于快速开发

在这里特别提一下 webpack,前面在安装 webpack 模板时,有一个选择项,是否使用 ESLint 来规范你的代码

ESLint 对于平时不太注意代码缩进的朋友可能是一个噩耗,我们简单演示一下,打开 src 下的 App.vue,把代码稍作修改

<template>
  <div id="app">
<h2>2017年来啦!</h2>
<strong>{{msg}}</strong>
  </div>
</template>

<script>
export default {
  data(){
return {
msg:‘好好学习 Vue.js!‘
}
  }
}
</script>

刷新页面,提示了各种代码缩进、空格 之类的错误

(2)、自定义模板
当官方模板不能满足需求时,我们可以 fork 官方模板按照自己的需求修改后,通过 vue-cli 命令生成基于自己模板的项目结构:
$ vue init username/repo my-project
(3)、本地模板

除了从 github 下载模板外,我们还可以从本地加载模板:
$ vue init ~/fs/path/to-custom-template my-project

5、推荐的工具包

vue-cli 内部使用了很多第三方 npm 包来帮助自己实现一些基础功能,比如下面这些
5-1、commander
commander 是一个命令行接口的解决方案,它提供了一些接口方便我们对命令行的命令做解析。
仓库地址:https://github.com/tj/commander.js

5-2、download-git-repo

download-git-repo 用来将相应的 git 库(Github、GitLab、Bitbucket)下载到指定的本地文件夹。
仓库地址:https://github.com/flipxfx/download-git-repo


VUE之搭建脚手架的更多相关文章

  1. Vue:Vue2.0搭建脚手架

    随着Vue.js越来越火爆,更多的项目都用到Vue进行开发,在实际的开发项目中如何搭建脚手架呢?今天就来跟大家分享一下如何使用vue-cli搭建脚手架. 一.安装node.js 1.进入官网https ...

  2. VUE框架学习——脚手架的搭建

    #我的VUE框架学习 题记:初识VUE,觉得VUE十分的不错,故决定去深入的了解学习它,工欲善其事,必先利其器,下面是我搭建vue环境的过程! #一.项目搭建及初始化 1.安装:node.js:去官网 ...

  3. Vue搭建脚手架2

    Vue2.0搭建Vue脚手架(vue-cli) 在网上找了很多的搭建脚手架教程,但都不求甚解.终于找到2个比较好的教程,读者可对比阅读1和2,在这里分享给大家,希望对初学者有所帮助.ps:高手请绕道. ...

  4. Vue搭建脚手架1

    Vue2.0搭建Vue脚手架(vue-cli) 此文章参考了网上一些前人的技术分享,自己拿过来总结一下.此文章是基于webpack构建的vue项目,并实现简单的单页面应用.其中利用到的相关技术会简单加 ...

  5. Vue 搭建脚手架 && 脚手架的文件结构 && 关于不同版本的Vue

    1 # 一.Vue 环境搭建 2 # 1.VsCode 编码插件:Vuter 3 # 2.Vue 脚手架安装 4 # 1).安装:npm install -g @vue/cli or yarn glo ...

  6. Vue项目搭建完整剖析全过程

    Vue项目搭建完整剖析全过程 项目源码地址:https://github.com/ballyalex 有帮助的话就加个星星呗~!  项目技术栈:vue+webpack+bower+sass+axios ...

  7. vue环境搭建与创建第一个vuejs文件

    我们在前端学习中,学会了HTML.CSS.JS之后一般会选择学习一些框架,比如Jquery.AngularJs等.这个系列的博文是针对于学习Vue.js的同学展开的. 1.如何简单地使用Vue.js ...

  8. ASP.NET Core 实战:使用 ASP.NET Core Web API 和 Vue.js 搭建前后端分离项目

    一.前言 这几年前端的发展速度就像坐上了火箭,各种的框架一个接一个的出现,需要学习的东西越来越多,分工也越来越细,作为一个 .NET Web 程序猿,多了解了解行业的发展,让自己扩展出新的技能树,对自 ...

  9. Vue项目搭建与部署

    Vue项目搭建与部署 一,介绍与需求 1.1,介绍 Vue  是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue两大核心思想:组件化和数据驱动.组 ...

随机推荐

  1. meta-inf文件夹以及MANIFEST.MF文件的作用

    meta-inf相当于一个信息包,目录中的文件和目录获得Java 2平台的认可与解释,用来配置应用程序.扩展程序.类加载器和服务 manifest.mf文件,在用jar打包时自动生成的. META-I ...

  2. 使用ajax异步上传文件或图片(配合php)

    //html代码 <form enctype="multipart/form-data" id="upForm"> <input type=& ...

  3. BZOJ1018 SHOI2008堵塞的交通(线段树)

    动态图的连通性当然是可以用LCT维护的.但这相当的不优美,毕竟这样做没有用到任何该图的性质,LCT自带的大常数也会使其跑得非常慢. 考虑用线段树维护区间左右端四个点之间各自的连通性(仅经过该区间内路径 ...

  4. codeforces 889A

    A. Petya and Catacombs time limit per test 1 second memory limit per test 256 megabytes input standa ...

  5. MT【125】四点共圆

    (2017湖南省高中数学竞赛16题) \(AB\)是椭圆\(mx^2+ny^2=1(m>0,n>0,m\ne n)\)的斜率为 1 的弦.\(AB\)的垂直平分线与椭圆交于两点\(CD\) ...

  6. 【题解】 bzoj1055: [HAOI2008]玩具取名 (动态规划)

    bzoj1055,懒得复制,戳我戳我 Solution: 区间动规(以后开始动规会在solution前面标注是啥动规 我觉的这道题挺难想了,但其实状态定义了一下子就出来了(还是不行啊) 我们定义状态\ ...

  7. 【hdu3842】 Machine Works

    http://acm.hdu.edu.cn/showproblem.php?pid=3842 (题目链接) 题意 一个公司使用一个厂房$D$天,希望获利最大.有$n$台机器,每一台可以在第$D_i$天 ...

  8. 解题:CTSC 2006 歌唱王国

    题面 概率生成函数 对于菜鸡博主来说好难啊 其一般形式为$F(x)=\sum\limits_{i=0}^∞[x==i]x_i$,第i项的系数表示离散变量x取值为i的概率 一般的两个性质:$F(1)=1 ...

  9. codeblocks编译器

    发现网络有些编译器没有MinGW,特此留一文件: https://pan.baidu.com/s/1pLltzvH 有时下载codeblocks后编译不了,还要修改MinGW的位置,找到MinGW文件 ...

  10. idea中的pom文件中的jar包下载不了,手动下载jar包的方法

    问题描述: 在pom文件中添加依赖的时候,程序怎么着都是下载不了,而且实验了各种方式: IDEA引MAVEN项目jar包依赖导入问题解决 https://www.cnblogs.com/a845701 ...