主要作用:目录结构、本地调试、代码部署、热加载、单元测试

在如今前端技术飞速发展的时代,angular.js、vue.js 和 react.js 作为前端框架已经呈现出了三国鼎立的局面。作为国人若你不知道 vue,小生表示可以理解,如果作为中国的前端猿不知道 vue,小生表示很遗憾。而 vue-cli 作为官方推荐的快速构建 vue 项目的脚手架,你应该学会使用,本文将介绍如何使用 vue-cli。

在使用vue-cli前,希望你具备以下条件:

  • 扎实的 JavaScript / HTML / CSS 基本功

  • 通读官方教程 (guide) 的基础篇

这里我就不再赘述什么是 Vue.js 了,请需要了解的同学前往:

查看相关资源信息。

安装

  • 检查是否安装 node.js, 如果没有请根据您的系统安装

    node -v
    v8.00
  • 全局安装 vue-cli

    npm install -g vue-cli
  • vue-cli 的命令行

      命令:
    
      init        从模板中创建项目
    list 列出所有的官方模板
    build 构建项目
    help [cmd] 展示[cmd]命令的帮助信息
  • 使用vue list 查看所有模板

    可用的官方模板:
    
    ★  browserify - 功能齐全的 Browserify + vueify 配置, 具备 hot-reload, linting & unit testing。
    ★ browserify-simple - 简单的 Browserify + vueify 配置,便于快速构建。
    ★ pwa - 基于 webpack 的 PWA 模板。
    ★ simple - 基于单html文件的最简单的vue配置模板。
    ★ webpack - 功能齐全的 Webpack + vue-loader 配置 hot reload, linting, testing & css extraction。
    ★ webpack-simple - 简单的 Webpack + vue-loader 配置,便于快速构建。
  • 使用vue init创建基于webpack模板的项目(目前使用最多)

    vue init webpack <项目名>
    
    * Project name (demo) 项目名称,不能大写和中文,直接回车,使用默认名称
    * Project description (A Vue.js project) 项目描述,也可直接点击回车,使用默认值
    * Author 项目作者,使用默认名字
    * Install vue-router? (Y/n) 是否安装vue-router,这是官方的路由,大多数情况下都使用
    * Use ESLint to lint your code? (Y/n) 是否使用ESLint管理代码,ESLint是个代码风格管理工具,是用来统一代码风格的,并不会影响整体的运行,这也是为了团队开发,一般项目中都会使用
    * Pick an ESLint preset 选择一个ESLint预设, 编写vue项目时的代码风格, 选择默认Standard即可
    * Setup unit tests with Karma + Mocha? (Y/n) 是否安装单元测试,选择安装
    * Setup e2e tests with Nightwatch? (Y/n) 是否安装e2e测试 ,选择安装

项目结构

  • cd 到 demo 目录下,发现如下的项目结构

  • 文件说明

    -- build                     目录放的是构建脚本(包括构建时要用到的webpack 配置)
    -- config 配置脚本(vue项目启动时需要的配置,开发模式和生产模式)
    -- node_modules 通过npm install 安装的项目依赖包
    -- src 项目源码目录
    -- assets 项目模块资源文件包括:图片,css(会被webpack处理)
    -- components 项目相关的vue组件,便于重用
    -- router 项目的路由定义
    App.vue 页面入口文件
    main.js 项目的入口文件,挂在vue实例,加载路由,中间件等公共组件
    -- static 页面需要引入的外部的纯静态资源(会直接拷贝到dist/static/里面)
    -- test 项目测试
    -- e2e 模拟用户行为的测试
    -- unit 单元测试
    .babelrc ES6语法编译配置,把我们ES2105的代码通过它编译成ES5的
    .editorconfig 编辑器配置,定义代码格式
    .eslintignore 忽略语法检查的目录文件配置
    .eslintrc.js eslint的配置文件
    .gitignore 配置Git仓库的忽略项
    .postcssrc.js postcss的配置
    index.html 项目入口模板文件
    package.json 项目基本信息,运行脚本和相关依赖
    README.md 项目介绍及开发指南

项目构建

  • 首先安装依赖

    npm install
  • 开发模式

    npm run dev

服务开启成功后,浏览器打开:http://localhost:8080(默认服务启动的是8080端口,如果你想另起端口,可以修改 config/index.js 文件的 port)

  • 生产环境

首先需要打包 npm run build ,打包完成后会在项目下生成 dist 文件夹,我们只需要将此文件夹部署到web服务器上即可。

小结

如果您坚持到了这一步,恭喜您,您至少没有放弃。整个项目虽然很简单地一气呵成了,但是其中涉及到的技术点还有待我们去探索,革命尚未成功,同志仍需努力。

vue-cli “从入门到放弃”的更多相关文章

  1. 学习 Vue ,从入门到放弃

    最近项目刚完成,手上工作稍微轻松些,准备储备下技术,为未来挑战做好准备. 之前项目用的较多的是angulajs,不过版本较老,还停留在1.5x系,虽然结合了webpack,es2015等前沿技术,但理 ...

  2. Vue的从入门到放弃

    此贴仅记录vue学习路程中遇见的大大小小,形形色色的问题 1.  vue自动打开浏览器配置: 当使用vue 脚手架搭建项目后启动npm run dev,会出现 但是不会自动打开浏览器的,这时候去con ...

  3. 《vue.js2.0从入门到放弃》学习之路

    原文地址: Vue.js2.0从入门到放弃---入门实例(一):http://blog.csdn.net/u013182762/article/details/53021374 Vue.js2.0从入 ...

  4. 一天带你入门到放弃vue.js(三)

    自定义指令 在上面学习了自定义组件接下来看一下自定义指令 自己新建的标签赋予特殊功能的是组件,而指定是在标签上使用类似于属性,以v-name开头,v-on,v-if...是系统指令! v-是表示这是v ...

  5. 一天带你入门到放弃vue.js(二)

    接下来我们继续学习一天带你入门到放弃系列vue.js(二),如有问题请留言讨论! v-if index.html <div id="app"> <p v-if=& ...

  6. 一天带你入门到放弃vue.js(一)

    写在前面的话! 每个新的框架入手都会进行一些列的扯犊子!这里不多说那么多!简简单单说一下vue吧! Vue.js是目前三大框架(angular,vue,react)之一,是渐进式js框架,据说是摒弃了 ...

  7. webpack 配置 Vue 多页应用 —— 从入门到放弃

    webpack 配置 Vue 多页应用 -- 从入门到放弃 一直以来,前端享有无需配置,一个浏览器足矣的优势,直到一大堆构建工具的出现,其中 webpack 就是其中最复杂的一个,因此出现了一个新兴职 ...

  8. VUE从入门到放弃(项目全流程)————VUE

    VUE从入门到放弃(第一天)--整体流程 先想想一个项目,vue项目是从什么到什么,然后再什么的?那是什么呢? 搭建 ( vue-cli) 代码内容 运行 封装 成品 一.搭建(脚手架vue-cli) ...

  9. Vue.js的从入门到放弃进击录(二)

    哇塞,昨晚更新的篇(一)这么多阅读量,看来入坑的人越来越多啦~熬了一个礼拜夜,今天终于生病惹~国庆要肥家咯·所以把篇(二)也更完.希望各位入坑的小伙伴能少跳几个坑呗.如果有什么不对的地方也欢迎讨论指正 ...

  10. [精品书单] C#/.NET 学习之路——从入门到放弃

    C#/.NET 学习之路--从入门到放弃 此系列只包含 C#/CLR 学习,不包含应用框架(ASP.NET , WPF , WCF 等)及架构设计学习书籍和资料. C# 入门 <C# 本质论&g ...

随机推荐

  1. Sqlite教程(1) SQLiteOpenHelper

    首先,创建DbHelper对象,继承SQLiteOpenHelper. Configuration是自行创建的工具类,里面都是App的一些环境设置. public class DbHelper ext ...

  2. jenkins_2

    1.jenkins pipline:一些列jenkins插件将整个CD(持续交付过程)用解释性代码Jenkinsfile来描述(之前的都是通过配置设置的,这次是通过file) 2.创建一个流水线任务 ...

  3. 吴裕雄--天生自然python学习笔记:python 用pygame模块基本绘图

    绘制几何图形是游戏包的基本功能,很多游戏角色都是由基本图形组合而成的 . 绘制矩形: pygame.draw.rect Pygam巳绘制矩形的语法为: 用基本绘图绘制一个人脸 用基本绘图功能绘制人脸 ...

  4. python中使用自定义类实例作为字典的key

    python中dict类型的key值要求是不可变类型,通常来说,我们一般采用int或者str类型来作为字典的key,但是在某些场景中,会造成一定的麻烦. 如我们有一个处理http Request的规则 ...

  5. iOS简单音乐实现、React-Native完整项目、仿闲鱼京东列表分页、语音识别、网络加载过度动画等源码

    iOS精选源码 iOS快速入手语音识别.听写.评测.播报 网络加载数据的过渡动画(仿简书网页) iOS 封装跑马灯和轮播效果 crash防护组件,适用常见常用的数组,字典等crash保护 iOS:高仿 ...

  6. Tarjan模板——求强连通分量

    Tarjan求强连通分量的流程在这个博客讲的很清楚,再加上我也没理解透,这里就不写了. 缩点:将同一个连通块内的点视为同一个点. 扔一道模板题:codeVS2822爱在心中 第一问很显然就是求点数大于 ...

  7. ospf实验二

    R1,R2,R3为17.1.1.0网段 1. R4先做rip #rip 1 #version 2 #undo sum.. #netwokr 14.0.0.0 实验第四条 标记tag 100 在R4上做 ...

  8. 如何使用iTunes制作iPhone铃声

    新版iTunes(iTunes11)推出以后,界面上发生了一些改变,给人带来一种面貌一新的感觉,但也给许多朋友带来一些操作上的不太适应.下面就大家比较关心的iPhone的铃声制作方法,我在iTunes ...

  9. MS12-020 3389蓝屏攻击

    MS12-020 3389蓝屏攻击 search ms12_020 use exploit/dos/windows/rdp/ms12_020_maxchannelids set rhost 192.1 ...

  10. Ho|H1|p-value|p值与U值|单侧检验

    生物统计学 统计推断的过程: Ho:XXXX会发生 H1:XXXX不会发生 p:XXXX会发生的概率(概率计算过程),如果是小概率,则H0不可能发生,所以拒绝H0接受H1. 概率计算过程:先设定小概率 ...