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

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

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

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

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