vue-cli “从入门到放弃”
主要作用:目录结构、本地调试、代码部署、热加载、单元测试
在如今前端技术飞速发展的时代,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 “从入门到放弃”的更多相关文章
- 学习 Vue ,从入门到放弃
最近项目刚完成,手上工作稍微轻松些,准备储备下技术,为未来挑战做好准备. 之前项目用的较多的是angulajs,不过版本较老,还停留在1.5x系,虽然结合了webpack,es2015等前沿技术,但理 ...
- Vue的从入门到放弃
此贴仅记录vue学习路程中遇见的大大小小,形形色色的问题 1. vue自动打开浏览器配置: 当使用vue 脚手架搭建项目后启动npm run dev,会出现 但是不会自动打开浏览器的,这时候去con ...
- 《vue.js2.0从入门到放弃》学习之路
原文地址: Vue.js2.0从入门到放弃---入门实例(一):http://blog.csdn.net/u013182762/article/details/53021374 Vue.js2.0从入 ...
- 一天带你入门到放弃vue.js(三)
自定义指令 在上面学习了自定义组件接下来看一下自定义指令 自己新建的标签赋予特殊功能的是组件,而指定是在标签上使用类似于属性,以v-name开头,v-on,v-if...是系统指令! v-是表示这是v ...
- 一天带你入门到放弃vue.js(二)
接下来我们继续学习一天带你入门到放弃系列vue.js(二),如有问题请留言讨论! v-if index.html <div id="app"> <p v-if=& ...
- 一天带你入门到放弃vue.js(一)
写在前面的话! 每个新的框架入手都会进行一些列的扯犊子!这里不多说那么多!简简单单说一下vue吧! Vue.js是目前三大框架(angular,vue,react)之一,是渐进式js框架,据说是摒弃了 ...
- webpack 配置 Vue 多页应用 —— 从入门到放弃
webpack 配置 Vue 多页应用 -- 从入门到放弃 一直以来,前端享有无需配置,一个浏览器足矣的优势,直到一大堆构建工具的出现,其中 webpack 就是其中最复杂的一个,因此出现了一个新兴职 ...
- VUE从入门到放弃(项目全流程)————VUE
VUE从入门到放弃(第一天)--整体流程 先想想一个项目,vue项目是从什么到什么,然后再什么的?那是什么呢? 搭建 ( vue-cli) 代码内容 运行 封装 成品 一.搭建(脚手架vue-cli) ...
- Vue.js的从入门到放弃进击录(二)
哇塞,昨晚更新的篇(一)这么多阅读量,看来入坑的人越来越多啦~熬了一个礼拜夜,今天终于生病惹~国庆要肥家咯·所以把篇(二)也更完.希望各位入坑的小伙伴能少跳几个坑呗.如果有什么不对的地方也欢迎讨论指正 ...
- [精品书单] C#/.NET 学习之路——从入门到放弃
C#/.NET 学习之路--从入门到放弃 此系列只包含 C#/CLR 学习,不包含应用框架(ASP.NET , WPF , WCF 等)及架构设计学习书籍和资料. C# 入门 <C# 本质论&g ...
随机推荐
- mysql 查询a表在b表中不存在的记录
select * from tbl_user a where(select count(1) as cnt from tbl_order b where a.phone=b.phone)=0
- mysql中datetime时间转字符串(避免java层映射为数字串)
-- in_date datetime NULLDATE_FORMAT(ls.`in_date`,'%Y-%m-%d %T')AS create_time
- LGOJ3327 【SDOI2015】约数个数和
又是一道卡常好题 坑掉我的 \(define \space int \space long \space long\) 感觉出题人并没有获得什么快乐-- Description link 题意概述: ...
- 让Spring不再难懂-aop篇
什么是aop AOP(Aspect-OrientedProgramming,面向方面编程),可以说是OOP(Object-Oriented Programing,面向对象编程)的补充和完善.OOP允许 ...
- Self-examination
第一次参加省赛,算是真正感受到比赛的残酷.拿到好成绩,需要平时大量的积累,甚至也需要一点运气,然后我还做的不够,但我觉得我可以做得更好. 我之前是没有任何基础,大一才刚刚从知码开门入门.然后刚开始一直 ...
- HTML 标签的 target 属性
定义和用法 target 属性规定在何处打开 action URL. 属性值 值 描述 _blank 在新窗口中打开. _self 默认.在相同的框架中打开. _parent 在父框架集中打开. _t ...
- 吴裕雄--天生自然python学习笔记:python OpenCV 基本绘图
Open CV 提供了绘制直线.圆形.矩形等基本绘 图的功能 . Open CV 画直线的语法为: 在画布上添加文字的语法为 : 用 Open CV 绘制基本图形 以 OpenCV 基本绘图绘制各种图 ...
- UTF虚拟对象
虚拟对象: 虚拟对象是为了让UFT识别某些不能识别的控件,把这些控件的范围定义为虚拟对象. 新建虚拟对象 管理虚拟对象 创建虚拟对象之后可通过菜单tools-Virutal Objects-Virut ...
- FPGA浮点数定点数的处理
http://blog.chinaaet.com/justlxy/p/5100053166大佬博客,讲的非常有条理的 1,基础知识 (1)定点数的基础认知: 首先例如一个16位的数表示的定点数的范围是 ...
- 三步教你实现MyEclipse的debug远程调试
MyEclipse远程调试程序是个神奇的东西,有时一个项目本地运行没问题可放到服务器上,同样的条件就是结果不一样:有时服务器上工程出点问题需要远程调测.于是就灰常想看一下程序在远程运行时候的状态,希望 ...