使用vue-cli(vue脚手架)快速搭建项目的方法


Posted in Javascript onMay 21, 2018

vue-cli 是一个官方发布 vue.js 项目脚手架,使用 vue-cli 可以快速创建 vue 项目。这篇文章将会从实操的角度,介绍整个搭建的过程。

1. 避坑前言

其实这次使用vue-cli的过程并不顺利,反复尝试几次都遇到以下这个报错:

使用vue-cli(vue脚手架)快速搭建项目的方法

创建vue-cli工程项目时的报错

在网上查了很多资料才发现原来是node版本过低的问题,虽然没有找到官方对这个“过低”问题的解释,但是根据国外网友的经验之谈,应该是至少使用node6,我将node4更新至node8之后确实没有报错了,顺利搭建。相关答疑帖:https://github.com/vuejs/vue-cli/issues/618

使用vue-cli(vue脚手架)快速搭建项目的方法

确认node与npm的版本

将这个放在最前面说是希望大家在搭建前,应该先确保将node更新至6以上,这样能少走一些弯路。下面开始正式介绍整个构建过程。

2. 使用 vue-cli 搭建项目

下面整个过程是基于已经安装node.js和cnpm的基础上,node.js如何安装就不在这里详说了。如何全局化安装cnpm,这里简单提一下:

npm install cnpm -g --registry=https://registry.npm.taobao.org

其实对于安装vue-cli,使用npm命令和cnpm命令都是可以的,个人觉得使用npm安装的比较慢,而且很可能会因为网络问题而出错,所以还是觉得使用cnpm稳一点。

(1)全局安装 vue-cli ,在命令提示窗口执行:

cnpm install -g vue-cli

使用vue-cli(vue脚手架)快速搭建项目的方法

安装vue-cli

出现以上提示表示vue-cli正常安装成功,可以正式创建vue-cli工程项目了。

(2)安装vue-cli成功后,通过cd命令进入你想放置项目的文件夹,在命令提示窗口执行创建vue-cli工程项目的命令:

vue init webpack

使用vue-cli(vue脚手架)快速搭建项目的方法

创建vue-cli工程项目

确认创建项目后,后续还需输入一下项目名称、项目描述、作者、打包方式、是否使用ESLint规范代码等等,详见上图。安装顺利执行后会,生成如下文件目录:

使用vue-cli(vue脚手架)快速搭建项目的方法

生成文件目录

(3)生成文件目录后,使用 cnpm 安装依赖:

cnpm install

使用vue-cli(vue脚手架)快速搭建项目的方法

安装依赖

(4)最后需要执行命令: npm run dev 来启动项目,启动完成后会自动弹出默认网页:

使用vue-cli(vue脚手架)快速搭建项目的方法

启动项目

使用vue-cli(vue脚手架)快速搭建项目的方法

启动项目

使用vue-cli(vue脚手架)快速搭建项目的方法

默认网页

到这一步,就算成功利用vue-cli搭建一个vue项目了,撒花 ~

3.目录结构及其对应作用

通过vue-cli搭建一个vue项目,会自动生成一系列文件,而这些文件具体是怎样的结构、文件对应起什么作用,可以看看下面的解释:

├── build/           # webpack 编译任务配置文件: 开发环境与生产环境
│  └── ...
├── config/           
│  ├── index.js        # 项目核心配置
│  └── ...
├ ── node_module/        #项目中安装的依赖模块
  ── src/
│  ├── main.js         # 程序入口文件
│  ├── App.vue         # 程序入口vue组件
│  ├── components/       # 组件
│  │  └── ...
│  └── assets/         # 资源文件夹,一般放一些静态资源文件
│    └── ...
├── static/           # 纯静态资源 (直接拷贝到dist/static/里面)
├── test/
│  └── unit/          # 单元测试
│  │  ├── specs/       # 测试规范
│  │  ├── index.js      # 测试入口文件
│  │  └── karma.conf.js    # 测试运行配置文件
│  └── e2e/          # 端到端测试
│  │  ├── specs/       # 测试规范
│  │  ├── custom-assertions/ # 端到端测试自定义断言
│  │  ├── runner.js      # 运行测试的脚本
│  │  └── nightwatch.conf.js # 运行测试的配置文件
├── .babelrc          # babel 配置文件
├── .editorconfig        # 编辑配置文件
├── .gitignore         # 用来过滤一些版本控制的文件,比如node_modules文件夹 
├── index.html         # index.html 入口模板文件
└── package.json        # 项目文件,记载着一些命令和依赖还有简要的项目描述信息 
└── README.md          #介绍自己这个项目的,可参照github上star多的项目。
build/

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JQuery中getJSON的使用方法
Dec 13 Javascript
统计jQuery中各字符串出现次数的工具
May 03 Javascript
提交表单时执行func方法实现代码
Mar 17 Javascript
Jquery网页出现的乱码问题的三种解决方法
Jun 30 Javascript
node.js中的http.response.write方法使用说明
Dec 14 Javascript
JavaScript知识点总结(四)之逻辑OR运算符详解
May 31 Javascript
JavaScript读二进制文件并用ajax传输二进制流的方法
Jul 18 Javascript
JavaScript之DOM插入更新删除_动力节点Java学院整理
Jul 03 Javascript
微信小程序实现长按删除图片的示例
May 18 Javascript
基于vue-router 多级路由redirect 重定向的问题
Sep 03 Javascript
一文快速了解JQuery中的AJAX
May 31 jQuery
JavaScript队列结构Queue实现过程解析
Mar 07 Javascript
JavaScript实现一个带AI的井字棋游戏源码
May 21 #Javascript
Vue中父子组件通讯之todolist组件功能开发
May 21 #Javascript
Vue+Jwt+SpringBoot+Ldap完成登录认证的示例代码
May 21 #Javascript
纯JS实现可用于页码更换的飞页特效示例
May 21 #Javascript
JS实现的文件拖拽上传功能示例
May 21 #Javascript
以v-model与promise两种方式实现vue弹窗组件
May 21 #Javascript
Vue二次封装axios为插件使用详解
May 21 #Javascript
You might like
PHP 5.0对象模型深度探索之属性和方法
2008/03/27 PHP
php画图实例
2014/11/05 PHP
PHP实现基于文本的摩斯电码生成器
2016/01/11 PHP
Yii2学习笔记之汉化yii设置表单的描述(属性标签attributeLabels)
2017/02/07 PHP
php读取本地json文件的实例
2018/03/07 PHP
PHP实现分布式memcache设置web集群session同步的方法
2018/04/10 PHP
js 键盘记录实现(兼容FireFox和IE)
2010/02/07 Javascript
JavaScript的单例模式 (singleton in Javascript)
2010/06/11 Javascript
xml转json的js代码
2012/08/28 Javascript
jquery设置元素的readonly和disabled的写法
2013/09/22 Javascript
Jquery创建层显示标题和内容且随鼠标移动而移动
2014/01/26 Javascript
原生JS实现图片轮播与淡入效果的简单实例
2016/08/21 Javascript
详解React中的组件通信问题
2017/07/31 Javascript
Vue 将后台传过来的带html字段的字符串转换为 HTML
2018/03/29 Javascript
利用JS动态生成隔行换色HTML表格的两种方法
2018/10/09 Javascript
Jquery高级应用Deferred对象原理及使用实例
2020/05/28 jQuery
Vue实现圆环进度条的示例
2021/02/06 Vue.js
python实现数据导出到excel的示例--普通格式
2018/05/03 Python
python+numpy+matplotalib实现梯度下降法
2018/08/31 Python
详解Python self 参数
2019/08/30 Python
python使用socket实现的传输demo示例【基于TCP协议】
2019/09/24 Python
使用python从三个角度解决josephus问题的方法
2020/03/27 Python
linux mint中搜狗输入法导致pycharm卡死的问题
2020/10/28 Python
requests在python中发送请求的实例讲解
2021/02/17 Python
布局和排版教程 纯css3实现图片三角形排列
2014/10/17 HTML / CSS
澳大利亚女性快速时尚零售商:Ally Fashion
2018/04/25 全球购物
北美领先的智能产品购物网站:Wellbots
2018/06/11 全球购物
英国卫浴商店:Ergonomic Design
2019/09/22 全球购物
YII2 全局异常处理深入讲解
2021/03/24 PHP
简短的公司员工自我评价分享
2013/11/13 职场文书
小学生爱国演讲稿
2014/04/25 职场文书
演讲稿祖国在我心中
2014/05/04 职场文书
2014年绩效考核工作总结
2014/12/11 职场文书
《蓝鲸的眼睛》读后感5篇
2020/01/15 职场文书
MySql重置root密码 --skip-grant-tables
2022/04/11 MySQL
使用Ajax实现无刷新上传文件
2022/04/12 Javascript