vue-cli项目搭建及安装常规依赖

前言:默认前提条件是node环境已装好,直接进入创建项目环节。

以下代码仅为本人项目中常用,仅供参考!

1. 依赖安装

1. vue init webpack     //创建vue项目

2. cnpm i element-ui -S   // 根据需求安装

3. cnpm i vant -S    // 根据需求安装 

4. cnpm install less less-loader --save  // less

5. cnpm install --save nprogress   // 进度条插件

6. cnpm install axios -S  // axios

2. axios封装,src下新建http文件夹>>>ajax.js && api.js

ajax.js 进行封装ajax

import axios from ‘axios‘;
import Qs from ‘qs‘;
import { Message} from ‘element-ui‘;  // 根据项目引入提示插件
import Vue from ‘vue‘

const URL = "http://192.168.1.70:8888/dev";

let loading;
function startLoading() {
  loading = Vue.prototype.$loading({
    lock: true,
    text: "努力加载中...",
    target: document.querySelector(‘.content_main‘)//设置加载动画区域
  });
}
function endLoading() {
  loading.close();
}

//声明一个对象用于存储请求个数
let needLoadingRequestCount = 0;
function showFullScreenLoading() {
    if (needLoadingRequestCount === 0) {
        startLoading();
    }
    needLoadingRequestCount++;
};
function tryHideFullScreenLoading() {
    if (needLoadingRequestCount <= 0) return;
    needLoadingRequestCount--;
    if (needLoadingRequestCount === 0) {
      endLoading();
    }
};

const urlorigin = document.location.origin;
// 环境的切换
if (process.env.NODE_ENV == ‘development‘) {
    axios.defaults.baseURL = URL;
   } else if (process.env.NODE_ENV == ‘debug‘) {
    axios.defaults.baseURL = URL;
   } else if (process.env.NODE_ENV == ‘production‘) {
    axios.defaults.baseURL = urlorigin+‘/dev‘;
};

// 设置请求超时时间
axios.defaults.timeout = 60000;

// 设置post请求头
axios.defaults.headers.post[‘Content-Type‘] = ‘application/x-www-form-urlencoded;charset=UTF-8‘;

// 请求拦截
axios.interceptors.request.use( config => {
    // 在发送请求之前做些什么 验证token之类的
    showFullScreenLoading();
     return config;
    }, error => {
    // 对请求错误做些什么
    tryHideFullScreenLoading();
    Message.error({ message: ‘请求超时!‘ })
     return Promise.error(error);
    })

// 响应拦截
axios.interceptors.response.use( response => {
    // 对响应数据做点什么
    tryHideFullScreenLoading();
    return response;
  }, error => {
    // 对响应错误做点什么
    tryHideFullScreenLoading();
    return Promise.reject(error);
  });

// 封装get方法和post方法

/**
 * get方法,对应get请求
 * @param {String} url [请求的url地址]
 * @param {Object} params [请求时携带的参数]
 */
export function get2(url, params){
    return new Promise((resolve, reject) =>{
    axios.get(url, {
     params: params
    }).then(res => {
     resolve(res.data);
     console.log(res.data)
    }).catch(err => {
     reject(err.data)
     console.log(err.data)
     Message({message: ‘加载失败‘, type: ‘error‘});
    })
   });}

  /**
 * post方法,参数序列化
 * @param {String} url [请求的url地址]
 * @param {Object} params [请求时携带的参数]
 */
export function post(url, params) {
  return new Promise((resolve, reject) => {
   axios.post(url, Qs.stringify(params))
  .then(res => {
   resolve(res.data);
   console.log(res.data)
  })
  .catch(err => {
   reject(err.data)
   console.log(err.data)
   Message({message: ‘加载失败‘, type: ‘error‘});
  })
  });}

api.js  统一存放接口

import { get, post,} from ‘./ajax‘;

/**
 *
                            _ooOoo_
                           o8888888o
                           88" . "88
                           (| -_- |)
                           O\  =  /O
                        ____/`---‘\____
                      .‘  \\|     |//  `.
                     /  \\|||  :  |||//                      /  _||||| -:- |||||-                      |   | \\\  -  /// |   |
                    | \_|  ‘‘\---/‘‘  |   |
                    \  .-\__  `-`  ___/-. /
                  ___`. .‘  /--.--\  `. . __
               ."" ‘<  `.___\_<|>_/___.‘  >‘"".
              | | :  `- \`.;`\ _ /`;.`/ - ` : | |
              \  \ `-.   \_ __\ /__ _/   .-` /  /
         ======`-.____`-.___\_____/___.-`____.-‘======
                            `=---=‘
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
                     佛祖保佑       永无BUG
 */

/**
 * 统一管理api接口
 * @param {string} params
 */

// 登录/登出
const login = params => post(‘/user/login‘, params);

export default {
  login,

}

3. main.js 常规引入

import NProgress from ‘nprogress‘;
import ‘nprogress/nprogress.css‘;

import ElementUI from ‘element-ui‘;
import ‘element-ui/lib/theme-chalk/index.css‘;

import api from ‘@/http/api.js‘

Vue.prototype.$http = api;

  Vue.use(ElementUI);


Vue.prototype.goBack = function() {
    router.go(-1);//返回上一层
}

//当路由开始跳转时
router.beforeEach((to, from , next) => {
    // 开启进度条
    NProgress.start();
    next();
});

  //当路由跳转结束后
router.afterEach(() => {
    // 关闭进度条
    NProgress.done()
})

原文地址:https://www.cnblogs.com/hs610/p/12023565.html

时间: 2024-10-21 15:55:30

vue-cli项目搭建及安装常规依赖的相关文章

Vue CLI 3搭建vue+vuex 最全分析

一.介绍 Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统.有三个组件: CLI:@vue/cli 全局安装的 npm 包,提供了终端里的vue命令(如:vue create .vue serve .vue ui 等命令) CLI 服务:@vue/cli-service是一个开发环境依赖.构建于 webpack 和 webpack-dev-server 之上(提供 如:serve.build 和 inspect 命令) CLI 插件:给Vue 项目提供可选功能的 npm 包 (如

npm 在安装 Vue脚手架命令(npm install -g @vue/cli)时报错安装报错--“Unexpected end of JSON input while parsing near&#183;&#183;&#183;”

在安装Vue的脚手架(npm install -g @vue/cli 项目名称)时,提示: Unexpected end of JSON input while parsing near 其实,但凡使用npm 时,只要提示这个,都可以按照以下几种方式进行尝试. 第一种:删掉package.lock.json 第二种:清除cache npm cache clean --force第三种:进入下面这个文件夹,把文件夹npm-cache下的内容删除掉(清除cache) 路径:C:/Users/DELL

vue + experss项目搭建 + mongodb下载安装 + 实战篇

一:vue 项目搭建 二:experss项目搭建 三:mongodb下载安装(转自网络)Ayers 四:实战篇(转自网络)highsea

vue cli 项目创建

初始化项目 我们用vue init命令来初始化项目,具体看一下这条命令的使用方法. $ vue init <template-name> <project-name>$ vue init <template-name> <project-name>init:表示我要用vue-cli来初始化项目 <template-name>:表示模板名称,vue-cli官方为我们提供了5种模板, webpack-一个全面的webpack+vue-loader的模

AspNetCore MVC + Vue.Js 项目搭建

1.准备 全文重点在于搭建环境,其他相关知识点请百度. VS2017 升级到最新的版本 安装 net core 2.0 安装 npm (npm相关使用请百度或咨询前端小伙伴) 全局安装 webpack (webpack相关使用请百度或咨询前端小伙伴) vue 的使用 (推荐看一下vue创建的webpack项目模板) axios的使用,vue中用于调用后端接口的方法 2.创建AspNetCore MVC项目 3.清空项目 删除不必要的文件后,项目文件结果如下: 4.初始化项目 4.1 在项目web

vue.js项目搭建教程(参考)

第一步:安装node.js 1.传送门下载安装https://nodejs.org/en/ 2.打开cmd控制台分别查看node版本.path,npm node -v path npm -v 3.推荐淘宝镜像 npm config set registry https://registry.npm.taobao.org 4.安装全局vue-cli脚手架,并检查 cnpm install --global vue-cli vue -V 第二步:建立一个vue-test文件夹,并使用webpack模

用 vue cli 脚手架搭建单页面 Vue 应用(进阶2)

1.配置 Node 环境. 自行百度吧. 安装好了之后,打开 cmd .运行 node -v .显示版本号,就是安装成功了. 注:不要安装8.0.0以上的版本,和 vue-cli 不兼容. 我使用的 6.10.3 的版本,相对稳定. 2.使用 npm 管理依赖 使用 node 自带的包管理工具 npm 管理项目中的依赖,由于 npm 的服务器在国外.经常会遇到速度奇慢或者下载不下来依赖的情况,所以推荐使用淘宝镜像. npm install-g cnpm--registry=https://reg

vue cli 项目的提交

前提: 配置git.以及git的ssh key信息 假设已经都安装好了,此处我用vue项目为例,因为vue-cli已经默认为我生成了ignore文件 在项目目录 初始化本地仓库,会创建一个.git目录 git init 将项目所有文件(未被ignore)添加到仓库 git add . 将add文件提交到本地仓库 git commit -m '提交信息' 本地仓库关联远程git仓库 git remote add origin git仓库 本地仓库代码提交到服务器 git push -u origi

Vuex内容解析和vue cli项目中使用状态管理模式Vuex

中文文档:vuex官方中文网站 一.vuex里面都有些什么内容? const store = new Vuex.Store({ state: { name: 'weish', age: 22 }, getters: { personInfo(state) { return `My name is ${state.name}, I am ${state.age}`; } } mutations: { SET_AGE(state, age) { commit(age, age); } }, acti