vue2.x+webpack快速搭建前端项目框架详解


Posted in Javascript onNovember 30, 2017

一、本文将分享如何快速搭起基于webpack+vue的前端项目框架,利用vue的自己的脚手架工具vue-cli搭建起基本的环境配置,再通过npm包管理工具引入相应的依赖来完善项目的各种依赖框架。下面是具体实操。

二、基本命令操作。

1.在开发之前需要首先安装node.js,直接百度搜索或者在其中文官网也可以下载http://nodejs.cn/download/

在装完node之后npm包管理工具也自动的安装好,安装完之后,在命令行输入node -v或者npm -v,出现版本号说明安装成功。如下图所示:

vue2.x+webpack快速搭建前端项目框架详解

2.在使用npm之前,最好把镜像换成淘宝的,长久使用,跑一下命令:npm config set registry https://registry.npm.taobao.org,

替换成功后跑npm config get registry命令显示淘宝镜像路径的话就代表替换成功。

vue2.x+webpack快速搭建前端项目框架详解

3.第二步全局安装vue-cli,在命令窗口输入npm install -g vue-cli,然后跑vue -V出现版本号证明安装成功。

vue2.x+webpack快速搭建前端项目框架详解

4.开始生成项目,在本地硬盘找一个目录存放代码,然后打开命令行cd切换到相应的路径下,然后跑 vue init webpack Vue-Project(项目名称)

vue init webpack Vue-Project(项目名称)

vue2.x+webpack快速搭建前端项目框架详解

5.输入cd Vue-Project  然后安装依赖npm install, 如果平常时开发就跑npm run dev(本地开发跑代码),如果需要打包则跑npm run build。

vue2.x+webpack快速搭建前端项目框架详解

6.项目默认监听的是80端口,容易跟其他应用引起端口冲突,所以在项目下打开config文件夹,打开index.js,把端口改为8888,这样就避免冲突了,

vue2.x+webpack快速搭建前端项目框架详解

7.最后重新跑指令npm run dev   ,然后再地址栏输入http://localhost:8888,就会出现相应的页面。

vue2.x+webpack快速搭建前端项目框架详解

三、添加相应的框架以及依赖

1.引入sass预编译工具加快编码速度,跑命令npm install node-sass --save-dev, npm install sass-loader --save-dev,如果node-sass比较难装的话可以换成cnpm来下载依赖,具体可百度下做法。

操作:

在components目录下新建一个header的目录,新建两个文件header.vue  header.scss,然后引入到app.vue中使用,因为vue讲的是模块化开发,所以我喜欢把样式跟组件放到一个文件夹里跟其他模块区分,

vue2.x+webpack快速搭建前端项目框架详解

App.vue:

vue2.x+webpack快速搭建前端项目框架详解

header.scss:

vue2.x+webpack快速搭建前端项目框架详解

这样就证明sass 是安装成功了。

 2.引入axios接口请求框架,跑命令npm install axios --save-dev,npm install qs;

 然后在src目录下新建一个http.js文件进行接口请求的相关配置,

import Vue from 'vue'
import axios from 'axios'
import Qs from 'qs';


var instance = axios.create({
 //baseURL: 'https://some-domain.com/api/',
 timeout: timeout,
 responseType: 'json', // default,
 //headers: {'apikey': 'foobar'},
 transformRequest:function(data,headers){
  //为了避免qs格式化时对内层对象的格式化先把内层的对象转为
  //由于使用的form-data传数据所以要格式化
  if (typeof data == 'string') {
  
   headers.post['Content-Type'] = "application/json; charset=utf-8";
  
  }
  else if(!(data instanceof FormData)){
  headers.post['Content-Type'] = "application/x-www-form-urlencoded";
  
   for(let key in data){
   if(data[key]===undefined){
    data[key]=null;
   }
   }
   data = Qs.stringify(data);
 }

  return data;
 }
});
export default instance; 

Vue.prototype.$http=instance;

在使用请求接口的时候直接可以这样用:(具体用法可以看下官方文档)

this.$http.get(url).then((res)=>{
})

3.引入elementUI,跟人感觉elementUI是比较好用的vue组件UI,很多东西不用自己去写,推荐使用,跑指令npm install element-ui --save,

然后在main.js中引入使用

import Vue from 'vue'
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import App from './App.vue'

Vue.use(ElementUI)

当然也可以按需引入,想用什么组件就引入什么组件,不要全部引入,这样减少体积。

4.引入vuex

Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。它采用集中式存储管理应用的所有组件的状态,并以相应的规则保证状态以一种可预测的方式发生变化。

安装:npm install vuex --save

具体使用这里不做详细介绍,感兴趣的可以看下中文官网:https://vuex.vuejs.org/zh-cn/。

Javascript 相关文章推荐
JQuery插件ajaxfileupload.js异步上传文件实例
May 19 Javascript
纯js模拟div层弹性运动的方法
Jul 27 Javascript
jQuery手动点击实现图片轮播特效
Apr 20 Javascript
JS如何设置cookie有效期为当天24点并弹出欢迎登陆界面
Aug 04 Javascript
js简单获取表单中单选按钮值的方法
Aug 23 Javascript
JavaScript箭头函数_动力节点Java学院整理
Jun 28 Javascript
BootStrap实现文件上传并带有进度条效果
Sep 11 Javascript
HTML5开发Kinect体感游戏的实例应用
Sep 18 Javascript
Vue.js组件通信的几种姿势
Oct 23 Javascript
thinkjs 文件上传功能实例代码
Nov 08 Javascript
富文本编辑器vue2-editor实现全屏功能
May 26 Javascript
vue中实现点击按钮滚动到页面对应位置的方法(使用c3平滑属性实现)
Dec 29 Javascript
Vue+Vux项目实践完整代码
Nov 30 #Javascript
Bootstrap Table 搜索框和查询功能
Nov 30 #Javascript
微信小程序实现简单input正则表达式验证功能示例
Nov 30 #Javascript
微信小程序实现获取自己所处位置的经纬度坐标功能示例
Nov 30 #Javascript
微信小程序实战篇之购物车的实现代码示例
Nov 30 #Javascript
微信小程序支付及退款流程详解
Nov 30 #Javascript
windows下更新npm和node的方法
Nov 30 #Javascript
You might like
实用PHP会员权限控制实现原理分析
2011/05/29 PHP
PHP重定向的3种方式
2013/03/07 PHP
PHP上传文件参考配置大文件上传
2015/12/16 PHP
PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
2019/06/08 PHP
js 编写规范
2010/03/03 Javascript
js 图片等比例缩放代码
2010/05/13 Javascript
理解Javascript_12_执行模型浅析
2010/10/18 Javascript
JS定义回车事件(实现代码)
2013/07/08 Javascript
javascript实现数字验证码的简单实例
2014/02/10 Javascript
jquery使用jxl插件导出excel示例
2014/04/14 Javascript
JavaScript数组常用操作技巧汇总
2014/11/17 Javascript
JavaScript对数组进行随机重排的方法
2015/07/22 Javascript
Angular实现点击按钮控制隐藏和显示功能示例
2017/12/29 Javascript
JavaScript函数定义方法实例详解
2019/03/05 Javascript
常见的浏览器存储方式(cookie、localStorage、sessionStorage)
2019/05/07 Javascript
Javascript数组方法reduce的妙用之处分享
2019/06/10 Javascript
JavaScript中var的重要性实例分析
2019/07/09 Javascript
[48:47]VGJ.S vs NB 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
使用Python发送各种形式的邮件的方法汇总
2015/11/09 Python
Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程
2016/06/14 Python
基于Python数据可视化利器Matplotlib,绘图入门篇,Pyplot详解
2017/10/13 Python
Python中将变量按行写入txt文本中的方法
2018/04/03 Python
Python3使用正则表达式爬取内涵段子示例
2018/04/22 Python
在Mac下使用python实现简单的目录树展示方法
2018/11/01 Python
Python装饰器简单用法实例小结
2018/12/03 Python
实例讲解Python3中abs()函数
2019/02/19 Python
python中的subprocess.Popen()使用详解
2019/12/25 Python
Python求凸包及多边形面积教程
2020/04/12 Python
使用CSS3实现一个3D相册效果实例
2016/12/03 HTML / CSS
机械制造专业个人的自我评价
2013/12/28 职场文书
授权委托书怎么写
2014/04/03 职场文书
蓝颜请假条
2014/04/11 职场文书
家长会学生演讲稿
2014/04/26 职场文书
安全先进班组材料
2014/12/26 职场文书
Python必备技巧之函数的使用详解
2022/04/04 Python
Win10玩csgo闪退如何解决?Win10玩csgo闪退的解决方法
2022/07/23 数码科技