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

在如今前端技术飞速发展的时代,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. Java分层架构的使用规则

    原文章引用地址:http://blog.csdn.net/ygzk123/article/details/7816511 三层结构的程序不是说把项目分成DAL, BLL, WebUI三个模块就叫三层了 ...

  2. 二十九、rsync+inotity实时监控同步工具

    一.场景应用:                                    客户通过url访问资源(查询,下载等),并发量是非常高的,所以运用负载均衡分担web服务器的压力,在后端连接不同的 ...

  3. kaggle——绝地求生游戏最终排名预测

    绝地求生游戏最终排名预测 知识点 数据读取与预览 数据可视化 构建随机森林预测模型 导入数据并预览 先导入数据并预览.本次实验同样来源于 Kaggle 上的一个竞赛: 绝地求生排名预测 ,由于原始数据 ...

  4. 导入import的多种形式

    参考资料:anaconda官方资料 一.module(模块) 比如fibo是个模块(.py文件),其中有fib.fib2等函数 第一种形式:import fibo 在当前的符号表中,这并不会直接进入到 ...

  5. bwa index|amb|ann|bwt|pac|sa

    -.gapcloser.fa | > t1.fa bwa index -a bwtsw -p t1 t1.fa >t1.bwa_index.log >& #$ ll #tot ...

  6. Linux 杀死进程方法大全(kill,killall)

    杀死进程最安全的方法是单纯使用kill命令,不加修饰符,不带标志.   首先使用ps -ef命令确定要杀死进程的PID,然后输入以下命令:   # kill -pid   注释:标准的kill命令通常 ...

  7. RDS的tar文件恢复到本地mysql5.7版本数据库

    参考博客: 安装qpress软件 https://blog.csdn.net/a18838964650/article/details/82800621 文章介绍补充 https://www.cnbl ...

  8. Floyd算法-dp问题

    求结点对之间有负数的距离.限制条件:不允许有包含负权值的边组成的回路. 例子: 1.初始化 其中distance矩阵表示i,j两结点之间的距离. path矩阵,以第一行为例,表示0->0值为n表 ...

  9. JAVA Web期末项目第三阶段成果

    我们做的系统是一个基于Java web与MySQL的食堂点餐系统 班级: 计科二班 小组成员:李鉴宣.袁超 项目的测试 在系统部署到云服务器之前,已经在本机上进行了部署测试,通过mvn打包生成war文 ...

  10. 《JavaScript算法》二分查找的思路与代码实现

    二分查找的思路 首先,从有序数组的中间的元素开始搜索,如果该元素正好是目标元素(即要查找的元素),则搜索过程结束,否则进行下一步. 如果目标元素大于或者小于中间元素,则在数组大于或小于中间元素的那一半 ...