使用 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. 使用HTTP协议向服务器传参的方式及django中获取参数的方式

    使用HTTP协议向服务器传参的四种方式 URL路径携带参数,形如/weather/beijing/2018; 查询字符串(query string),形如key1=value1&key2=va ...

  2. 使用Arduino驱动基于ST7533芯片的TFT屏

    在合宙通信买了一个1.8寸的TFT屏,驱动芯片是ST7533,本来打算使用Air800直接驱动,但由于其他原因,放弃了.于是尝试使用arduino驱动,为了屏幕刷新速度更快,采用硬件SPI. 硬件连接 ...

  3. Docker(十)-Docker创建DockerFile文件

    制作Docker image 有两种方式: 使用 Docker container,直接构建容器,再导出成 image 使用. 是使用 Dockerfile,将所有动作写在文件中,再 build 成 ...

  4. angular 可信的html 指令

    angular.module('app').filter('trustHtml', ($sce) => { return (html) => { if(typeof(html)==&quo ...

  5. DELPHI 字符串与日期格式互转

    procedure TForm1.Button1Click(Sender: TObject); var D:TDateTime; s:string; begin D:=VarToDateTime('0 ...

  6. Nginx 配置遇到问题

    1 connect() to 10.2.20.170:1009 failed (13: Permission denied) while connecting to upstream 现这个错误是因为 ...

  7. MySQL 5.7 GA 新特性

    转载自: http://www.chinaxing.org/articles/Database/2015/10/23/2015-10-22-mysql-5.7.html sys-schema http ...

  8. HGOI20190126 模拟赛

    /* 最后一题比较难! */ solution:观察这个奇怪的图,不能共用走廊,就是1.2打包,3,4打包,每个包之间连线的线段覆盖问题. 考虑吧每个数映射成一个约为一半的数,且相邻(前奇后偶映射值一 ...

  9. 【转】如何在您的PCB大作上添加二维码?

    开篇先给大家来段新闻截选: “8月20日,新加坡总理李显龙在国庆群众大会上演讲时,称中国移动支付(电子支付)领先全球,新加坡的移动支付还很落后,上海路边摊都有移动支付,新加坡人去上海就像乡巴佬. 这番 ...

  10. PostgreSQL(一)教程 -----高级特性

    一.视图 假设天气记录和城市为止的组合列表对我们的应用有用,但我们又不想每次需要使用它时都敲入整个查询.我们可以在该查询上创建一个视图,这会给该查询一个名字,我们可以像使用一个普通表一样来使用它: C ...