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函数的第二个参数获取指定上下文中的DOM元素
May 19 Javascript
JS实现选中当前菜单后高亮显示的导航条效果
Oct 15 Javascript
详解JavaScript对象和数组
Dec 03 Javascript
jQuery实现按钮点击遮罩加载及处理完后恢复的效果
Jun 07 Javascript
第十篇BootStrap轮播插件使用详解
Jun 21 Javascript
jQuery插件cxSelect多级联动下拉菜单实例解析
Jun 24 Javascript
详解Vue.js 2.0 如何使用axios
Apr 21 Javascript
ReactNative中使用Redux架构总结
Dec 15 Javascript
webpack源码之loader机制详解
Apr 06 Javascript
详解Vue取消eslint语法限制
Aug 04 Javascript
vue.js实现带日期星期的数字时钟功能示例
Aug 28 Javascript
vue安装遇到的5个报错及解决方法
Jun 12 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
NOD32 v2.70.32 简体中文封装版 提供下载了
2007/02/27 PHP
PHP+jQuery 注册模块开发详解
2014/10/14 PHP
PHP实现统计在线人数功能示例
2016/10/15 PHP
PHP实现数组根据某个单元字段排序操作示例
2018/08/01 PHP
JS中setTimeout()的用法详解
2013/04/14 Javascript
自己实现ajax封装示例分享
2014/04/01 Javascript
node.js中的querystring.parse方法使用说明
2014/12/10 Javascript
深入学习JavaScript对象
2015/10/13 Javascript
vue-router 路由基础的详解
2017/10/17 Javascript
Vue2仿淘宝实现省市区三级联动
2020/04/15 Javascript
React BootStrap用户体验框架快速上手
2018/03/06 Javascript
Django+Vue跨域环境配置详解
2018/07/06 Javascript
vue-cli单页面预渲染seo-prerender-spa-plugin操作
2020/08/10 Javascript
三剑客:offset、client和scroll还傻傻分不清?
2020/12/04 Javascript
Python Django使用forms来实现评论功能
2016/08/17 Python
Django验证码的生成与使用示例
2017/05/20 Python
解决python中遇到字典里key值为None的情况,取不出来的问题
2018/10/17 Python
Python 输出时去掉列表元组外面的方括号与圆括号的方法
2018/12/24 Python
解决python3插入mysql时内容带有引号的问题
2020/03/02 Python
利用Python自动化操作AutoCAD的实现
2020/04/01 Python
Django之腾讯云短信的实现
2020/06/12 Python
python实现AdaBoost算法的示例
2020/10/03 Python
Pytorch 中的optimizer使用说明
2021/03/03 Python
什么是岗位职责
2013/11/12 职场文书
如何写自我评价?自我评价写什么好?
2014/03/14 职场文书
学生会竞选演讲稿
2014/04/24 职场文书
酒店总经理岗位职责范本
2014/08/08 职场文书
2014年反洗钱工作总结
2014/11/22 职场文书
2015年毕业生自荐信范文
2015/03/24 职场文书
2015年房地产销售工作总结
2015/04/20 职场文书
旗帜观后感
2015/06/08 职场文书
人与自然的观后感
2015/06/18 职场文书
人生哲理妙语30条:淡写流年,笑过人生
2019/09/04 职场文书
python读取mnist数据集方法案例详解
2021/09/04 Python
python保存图片的四个常用方法
2022/02/28 Python
Python可视化动图组件ipyvizzu绘制惊艳的可视化动图
2022/04/21 Python