美文网首页IT编程web前端关于前端
Vue2.0史上最全入坑教程(上)—— 搭建Vue脚手架(vue

Vue2.0史上最全入坑教程(上)—— 搭建Vue脚手架(vue

作者: 诺奕 | 来源:发表于2017-03-01 10:34 被阅读138799次
ps: 想了解更多vue相关知识请点击VUE学习目录汇总
Vue作为前端三大框架之一截至到目前在github上以收获44,873颗星,足以说明其以悄然成为主流。16年10月Vue发布了2.x版本,经过了一段时间的摸索和看官方的教程和api,才了解到2.0版本在1.0版本的基础上做了好多调整,废弃了好多api。。。废话不多说了,把我踩过的坑,在这里跟大家说说,希望对初学者有所帮助。ps:高手请绕道。

说明:此文章参考了网上一些前人的技术分享,自己拿过来总结一下。此文章是基于webpack构建的vue项目,并实现简单的单页面应用。其中利用到的相关技术会简单加以说明

一、那么我们就从最简单的环境搭建开始:
  1. 安装node.js,从node.js官网下载并安装node,安装过程很简单,一路“下一步”就可以了(傻瓜式安装)。安装完成之后,打开命令行工具(win+r,然后输入cmd),输入 node -v,如下图,如果出现相应的版本号,则说明安装成功。
这里需要说明下,因为在官网下载安装node.js后,就已经自带npm(包管理工具)了,另需要注意的是npm的版本最好是3.x.x以上,以免对后续产生影响。
  1. 安装淘宝镜像,打开命令行工具,把这个(npm install -g cnpm --registry= https://registry.npm.taobao.org)复制(这里要手动复制就是用鼠标右键那个,具体为啥不多解释),安装这里是因为我们用的npm的服务器是外国,有的时候我们安装“依赖”的时候很很慢很慢超级慢,所以就用这个cnpm来安装我们说需要的“依赖”。安装完成之后输入 cnpm -v,如下图,如果出现相应的版本号,则说明安装成功。
  2. 安装webpack,打开命令行工具输入:npm install webpack -g,安装完成之后输入 webpack -v,如下图,如果出现相应的版本号,则说明安装成功。
  3. 安装vue-cli脚手架构建工具,打开命令行工具输入:npm install vue-cli -g,安装完成之后输入 vue -V(注意这里是大写的“V”),如下图,如果出现相应的版本号,则说明安装成功。


二、通过以上四步,我们需要准备的环境和工具都准备好了,接下来就开始使用vue-cli来构建项目
  1. 在硬盘上找一个文件夹放工程用的。这里有两种方式指定到相关目录:①cd 目录路径 ②如果以安装git的,在相关目录右键选择Git Bash Here
  2. 安装vue脚手架输入:vue init webpack exprice ,注意这里的“exprice” 是项目的名称可以说是随便的起名,但是需要主要的是“不能用中文”。

$ vue init webpack exprice --------------------- 这个是那个安装vue脚手架的命令
This will install Vue 2.x version of the template. ---------------------这里说明将要创建一个vue 2.x版本的项目
For Vue 1.x use: vue init webpack#1.0 exprice
? Project name (exprice) ---------------------项目名称
? Project name exprice
? Project description (A Vue.js project) ---------------------项目描述
? Project description A Vue.js project
? Author Datura --------------------- 项目创建者
? Author Datura
? Vue build (Use arrow keys)
? Vue build standalone
? Install vue-router? (Y/n) --------------------- 是否安装Vue路由,也就是以后是spa(但页面应用需要的模块)
? Install vue-router? Yes
? Use ESLint to lint your code? (Y/n) n ---------------------是否启用eslint检测规则,这里个人建议选no
? Use ESLint to lint your code? No
? Setup unit tests with Karma + Mocha? (Y/n)
? Setup unit tests with Karma + Mocha? Yes
? Setup e2e tests with Nightwatch? (Y/n)
? Setup e2e tests with Nightwatch? Yes
vue-cli · Generated "exprice".
To get started: --------------------- 这里说明如何启动这个服务
cd exprice
npm install
npm run dev
如下图:


  1. cd 命令进入创建的工程目录,首先cd exprice(这里是自己建工程的名字);
  2. 安装项目依赖:npm install,因为自动构建过程中已存在package.json文件,所以这里直接安装依赖就行。不要从国内镜像cnpm安装(会导致后面缺了很多依赖库),但是但是如果真的安装“个把”小时也没成功那就用:cnpm install 吧
  3. 安装 vue 路由模块 vue-router 和网络请求模块 vue-resource,输入:cnpm install vue-router vue-resource --save。
创建完成的“exprice”目录如下:

下面我简单的说明下各个目录都是干嘛的:


  1. 启动项目,输入:npm run dev。服务启动成功后浏览器会默认打开一个“欢迎页面”,如下图:


注意:这里是默认服务启动的是本地的8080端口,所以请确保你的8080端口不被别的程序所占用。

至此简单的一个项目构建完毕....后面我将继续利用这个构建的项目写一个简单的单页面应用。

看到这里给大家推荐一个ide用Atom然后安装vue插件即可,非常之好用

Vue2.0史上最全入坑教程(中)

相关文章

网友评论

  • __静心:大神,请问我的为什么出现乱码?
    F:\>vue init webpack firstVue

    'git' �����ڲ����ⲿ���Ҳ���ǿ����еij���
    ���������ļ���
    ? Project name (firstVue)
    f2e0e89ae094:乱码是中文,正常!
  • 猿来独往:教程写的很详细,费心了:blush:
  • 8b39dd6c7022:新手入坑,特别感谢,
  • 4577b575c41b:千里之行,难于足下,谢谢。。。
  • q破晓晨曦p:emmm 这不叫搭建脚手架,叫使用脚手架搭建项目。
  • 30aadb1271df:对于初学者的我就是良药啊
    30aadb1271df:非常感谢!
  • 江枫PKM:楼主写得挺好~Vue已是前端MVVM流行框架大趋势所在
  • 6d45ed401c22:安装了npm install stylus stylus-loader --save-dev;之后还是报找不到这个依赖怎么办?
  • 哈力1688:一直在找文档性的教程 终于找到了
    诺奕:@哈雷_dccd 嗯嗯
  • a74976ac5920:看着你的文档跟着做的,很棒!感谢!:blush:
    诺奕:@王艳_f733 有帮助就好
  • 邪瓶张起灵:eslint语法检测应该是强烈建议选择yes才对,用了就知道有多好了~
    2ef7e852b753:我也建议使用eslint,尤其是用es6的。
    诺奕:@邪瓶张起灵 如果开了 eslint,会有很多人莫名奇怪“明明写对”,反而出错了
  • 初_8eea:copmonents下的.vue组件,和app.vue有什么区别啊
    诺奕:@初_8eea .vue组件基本都是一样的。由三部分组成。具体怎么用需要在components中注册
  • 17e47205a480:很清晰易懂,谢谢:stuck_out_tongue_winking_eye:
  • f9d873d9530f:但是可以在浏览器中直接输入localhost:8080 打开
  • f9d873d9530f:而且build包下也没有dev-server.js那个文件
    诺奕:@小涅_3c60 查看我这个总结(http://www.jianshu.com/p/9c52ba3113da)
  • f9d873d9530f:安装到最后 运行npm run dev后不会自动打开浏览器 是怎么回事
  • a254f7131805:npm run dev 一直启动不起来 大神知道为什么吗?报这个lifecycle The node binary used for scripts is C:\Program Files (x86)\Nodist\bin\node.exe but npm is using C:\Program Files (x86)\Nodist\v-x64\8.4.0\node.exe itself. Use the `--scripts-prepend-node-path` option to include
    the path for the node binary npm was executed with.
  • wuhtt:作者用的是什么IDE啊,idea吗?
    诺奕:@wuhtt 我之前用的idea,现在改用vscode了。编辑器只要适合自己开发就好。
  • triumphperson:很不错 正在学习
    诺奕: @triumphperson 加油
  • hiddensmile:建立好项目后安装stylus:
    npm install stylus stylus-loader --save-dev;
    1、在.vue文件的style块中使用,只要在style标签加上lang="stylus"就可以了;
    2、引用.styl文件的形式:@import "assets/base.styl";
    af8f9f12c8a1:顶一下 我昨天晚上就是因为这个问题卡了半天 最后一知半解的给弄好了,今天看到后才知道还得下个文件
    KOPEv:.vue文件里的stylus是在打包.vue文件时就可以直接呈现样式还是需要额外的什么操作?
    诺奕: @hiddensmile 挺好
  • 陵城子俊:lz棒棒的,一次通过
    诺奕:@陵城子俊 谢谢支持!继续加油!
  • 7f48f6e68b55:请问 我再npm install 的时候提示 phantomJS not found on path 还让我吧错误日志发到gitHub上 那这个装不上去怎么办啊大神
    诺奕: @武九 用cnpm install安装
  • 黄文博_dbef:大佬,你好。
    前几天看一篇教程是src下的index.html打包成dist下的index.html 实际上跑的是dist下的index.html,我想问下一个工程到底是几个index.html,我知道应该是一个index.html,为什么有的教程是:'原本的一个Index.html最后打包成一个index.html呢'
  • 92b6f5cdfec6:楼主怎么生成一个空的package.json啊, 然后 我想下载别的ui库 他会直接记录到这个json里面吗?
    诺奕: @整个世界都空了 嗯,可以,但是要知道D和S的区别
    92b6f5cdfec6:@datura_lj ok 谢了 我去试试 要是下载别的插件 直接下载就ok了吧 他就记录在json里面了 还是后面加 -D
    诺奕:@整个世界都空了 这个可以试试 npm init
  • 对方已添加您为好友:棒棒哒 自己搞了半天一塌糊涂 看着这个分分钟搞定了 楼主好棒啦
    对方已添加您为好友: @datura_lj 嗯啦 特别清晰😊
    诺奕: @对方已添加您为好友 谢谢支持,有帮助就好!
  • xiEnter:你好,问个低级问题,vue2.0推荐使用axios请求接口,那么axios是使用npm的方式安装吗,还是直接script标签引入就可以
    xiEnter:@datura_lj 谢谢 安装webpack的时候 一直不会前进 是不是可以退出来重新安装
    xiEnter:@datura_lj 谢谢,安装webpack一直卡在那里,好像不会前进
    诺奕: @xiEnter npm install axios
  • f50d3aa512ff:可以在介绍一下npm run build/npm run build --report/npm run unit/npm run e2e/npm test 这几个命令的意思吗以及使用场景,谢谢的呢
    诺奕:@行行快来呀 pm run build是开发结束后(或某一功能模块),进行打包压缩工作,进行提测;npm run unit 启动的是karma,是单元测试,启动一个web服务器然后运行js和测试js,家贼页面;npm run e2e 可以理解为黑盒测试,测试一个应用从头到尾的流程是否和设计时候所想的一样;注:一般常用的是:Dev 和 build,但具体也看项目需求,有点还需要代码检查就是eslint。谢谢支持!
  • f50d3aa512ff:太棒啦谢谢
    诺奕:@行行快来呀 有帮助就好
  • 9a1c3971e728:你好 请问demo做了吗 我想看看
    诺奕:@一花凋零丶一花绽 哪个demo?现在正在用vue做一款学习vue的app。也算是一个实战吧,希望到时候能支持。
  • 0ba462229edc:你好,请问下,我模拟数据时,使用了express的Router,但是ide(webstorm)提示找不到这个方法,请问是什么情况,是依赖的锅吗?
    诺奕: @向日葵的晴天 安装router了嘛😂
    0ba462229edc:@datura_lj 没有任何报错信息,但是ide会提示unresolved function or method Router 以及和router相关的方法全部无效。但是我单独开一个node的新工程是有限的,我怀疑是依赖缺失的锅
    诺奕: @向日葵的晴天 怎么找不到那个方法?有报错信息嘛
  • 3812adf4de80:为什么用XAMPP的服务器看首页是空白的??线上的也是正常吗。。我想知道vue文件是怎么跟index.html关联的
    诺奕:@阳光般的小鸡鸡 那得看报错信息啥?
    3812adf4de80:@datura_lj 我还想问个新问题、现在2.0版本都改用axios 异步处理数据,但是为何post就会报错?
    诺奕: @阳光般的小鸡鸡 你是打包后放到服务器环境的嘛
  • David_fb53:感谢你的分享
  • a46290d337ff:不错,带我入门了
    诺奕:@璀璨星空_f846 谢谢支持!继续加油!
  • 三好大师:终于找到能看的懂得坏境搭建文章了,很实用,很适合小白 点个赞
    诺奕:@小宝贝丫头 这个问题已经有小伙伴问过了,我还是那句话个人不建议在使用jq去操作dom了。但如果是项目需求的话,建议你看看我另一篇关于【全面解析vue-cli生成的项目中使用其他库】(http://www.jianshu.com/p/a2fc286cb8ab)
    742ba4ef06f4:为什么我自定义的jquery 在vue调用的js方法提示我没定义
    诺奕: @三好大师 嘿嘿
  • 8fab4b3d1da5:之前一直迷茫,看完这个,就都明白了!!!!!
    诺奕: @HaileyLing 嗯嗯,好的,加油!恭喜你距离vue大神又近了一步
  • 就现在action:路由在安装vue脚手架的时候有选择叫你安装与否
    诺奕:@就现在action 是的,会有这个提示
  • kuohao:群友顶起
  • 艿頩o:我搭建完以后,运行起来,还是在这个测试页面啊??为什么啊??
    诺奕:@艿頩o 因为你没有给相应页面填写内容
  • f340cd87a2f5:那个语法检查配置,是通过什么安装的啊
    诺奕:@苦涩将近丶 其实这个获取本地的数据在正常工作中是用不到的,会有后端配合人员提供数据api。用那个获取数据进行处理就好。ps:谢谢支持啊!嘿嘿!希望对大家有帮助
    f340cd87a2f5:@datura_lj 谢谢,你的关于vue的博客我都看了,也在研究和敲,问一个低级问题,就是vue获取本地json数据 ,我在网上搜了一下基本上都是在bulid>dev-server.js,express下面一阵操作。这么写的依据是?还是只需要记住就可以啊
    诺奕:@苦涩将近丶 如果你使用vue-cli安装的它会提示你是否需要的。如果你手动搭建一个项目可以通过npm install eslint 来安装
  • 895591b4780f:跟着你学习下:blush:
    诺奕: @MonkeyDKiko 加油
  • Rz______:Atom 相对于sublime还是差了一点
  • 6e42cfc0781a:好棒~
    诺奕:@fish_in_all_blu 有帮助就好!
  • 活在初音的未来:正在踩坑中……
    诺奕:@活在初音的未来 挺好 !加油
  • 魔攻力缆狂澜聊:编辑器是啥
    af7f417dc3dc:@datura_lj 也下了个感觉你这个好些。。。
    诺奕:@魔攻力缆狂澜聊 编辑器我用的Atom
  • 相思雨gg:vue-cli里面自带webpack模板
    诺奕:嗯 是自带webpack模版,但是还是需要装上的
  • 9f11238abc00:LZ 好样的。
    32147aecd366:安装NPM或VUE-CLI提示“NPM ERR! ERRNO -4048”错误的解决方法(http://www.lisa33xiaoq.net/636.html)我在搭建环境时报错,按照文章里说的,不行啊。。还有其他方法吗:sweat:
    诺奕:谢谢支持

本文标题:Vue2.0史上最全入坑教程(上)—— 搭建Vue脚手架(vue

本文链接:https://www.haomeiwen.com/subject/ltkqgttx.html