详解webpack-dev-server 设置反向代理解决跨域问题


Posted in Javascript onApril 18, 2018

一、设置代理的原因

现在对前端开发的要求越来越高,并且随着自动化以及模块化的诞生,前后端开发模式越来越流行。后端只负责接口,前端负责数据展示、逻辑处理。但是前后端开发模式,有一个重要的问题,就是跨域问题。

 二、如何配置webpack的代理

webpack代理需要另外一个插件:webpack-dev-server 

webpack-dev-server配置代理非常的方便,只需要条件一个proxy属性,然后配置相关的参数就可以了:

var webpack = require('webpack');
var WebpackDevServer = require("webpack-dev-server");
var path = require('path');
var CURRENT_PATH = path.resolve(__dirname); // 获取到当前目录
var ROOT_PATH = path.join(__dirname, '../'); // 项目根目录
var MODULES_PATH = path.join(ROOT_PATH, './node_modules'); // node包目录
var BUILD_PATH = path.join(ROOT_PATH, './dist'); // 最后输出放置公共资源的目录
var HtmlWebpackPlugin = require('html-webpack-plugin');
var ExtractTextPlugin = require("extract-text-webpack-plugin");
var CopyWebpackPlugin = require('copy-webpack-plugin');

module.exports = {

  //项目的文件夹 可以直接用文件夹名称 默认会找index.js ,也可以确定是哪个文件名字
  entry: {
    app: ['./src/js/index.js'],
    vendors: ['jquery', 'moment'], //需要打包的第三方插件
    // login:['./src/css/login.less']
  },

  //输出的文件名,合并以后的js会命名为bundle.js
  output: {
    path: path.join(__dirname, "dist/"),
    publicPath: "http://localhost:8088/dist/",
    filename: "bundle_[name].js"
  },
  devServer: {
    historyApiFallback: true,
    contentBase: "./",
    quiet: false, //控制台中不输出打包的信息
    noInfo: false,
    hot: true, //开启热点
    inline: true, //开启页面自动刷新
    lazy: false, //不启动懒加载
    progress: true, //显示打包的进度
    watchOptions: {
      aggregateTimeout: 300
    },
    port: '8088', //设置端口号
    //其实很简单的,只要配置这个参数就可以了
    proxy: {
      '/index.php': {
        target: 'http://localhost:80/index.php',
        secure: false
      }
    }
  } 
..........
};

上面实例中我们把本地的端口号设置为了:8088,如果这个时候接口放在了端口为80的服务器上,并且我们请求的接口url如下:http://localhost:80/index.php

 这个时候只需要在proxy使用正则表达式匹配/index.php,然后 匹配到 转向target设置的目标接口;这个时候使用ajax请求接口就不要写上目标接口的域名,只需要写上index.php就可以了。

$.ajax({
    type: 'GET',
    url: '/index.php',
    data: {},
    dataType: 'json',
    beforeSend: function () {
    },
    success: function (data) {

    },
    error: function (error) {

    }
  });

上面ajax请求的时候proxy 代理就会自动转向target设置的接口路径:http://localhost:80/index.php

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

Javascript 相关文章推荐
网页编辑器ckeditor和ckfinder配置步骤分享
May 24 Javascript
基于jQuery1.9版本如何判断浏览器版本类型
Jan 12 Javascript
JavaScript中函数声明与函数表达式的区别详解
Aug 18 Javascript
微信小程序 前端源码逻辑和工作流详解
Oct 08 Javascript
简单实现node.js图片上传
Dec 18 Javascript
vue升级之路之vue-router的使用教程
Aug 14 Javascript
Bootstrap Table 双击、单击行获取该行及全表内容
Aug 31 Javascript
JQueryDOM之样式操作
Mar 27 jQuery
vscode vue 文件模板的配置方法
Jul 23 Javascript
从零搭一个自用的前端脚手架的方法步骤
Sep 23 Javascript
vue实现pdf文档在线预览功能
Nov 26 Javascript
工作中常用js功能汇总
Nov 07 Javascript
jQuery实现的两种简单弹窗效果示例
Apr 18 #jQuery
vue双向数据绑定知识点总结
Apr 18 #Javascript
浅析vue中常见循环遍历指令的使用 v-for
Apr 18 #Javascript
关于Angularjs中跨域设置白名单问题
Apr 17 #Javascript
JS实现二维数组横纵列转置的方法
Apr 17 #Javascript
redux中间件之redux-thunk的具体使用
Apr 17 #Javascript
Vue进度条progressbar组件功能
Apr 17 #Javascript
You might like
php数组函数array_key_exists()小结
2015/12/10 PHP
php 无限分类 树形数据格式化代码
2016/10/11 PHP
php中遍历二维数组并以表格的形式输出的方法
2017/01/03 PHP
cakephp常见知识点汇总
2017/02/24 PHP
Thinkphp页面跳转设置跳转等待时间的操作
2019/10/16 PHP
用javascript实现无刷新更新数据的详细步骤 asp
2006/12/26 Javascript
JS window对象的top、parent、opener含义介绍
2013/12/03 Javascript
JavaScript包装对象使用详解
2015/07/09 Javascript
jQuery实现Select左右复制移动内容
2016/08/05 Javascript
js 客户端打印html 并且去掉页眉、页脚的实例
2017/11/03 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
2017/11/27 Javascript
Angular实现的内置过滤器orderBy排序与模糊查询功能示例
2017/12/29 Javascript
Node.js 使用AngularJS的方法示例
2018/05/11 Javascript
微信小程序常用的3种提示弹窗实现详解
2019/09/19 Javascript
解决Vue动态加载本地图片问题
2019/10/09 Javascript
layui清除radio的选中状态实例
2019/11/14 Javascript
如何在vue 中引入使用jquery
2020/11/10 jQuery
Python中使用Boolean操作符做真值测试实例
2015/01/30 Python
pytorch对可变长度序列的处理方法详解
2018/12/08 Python
python实现IOU计算案例
2020/04/12 Python
css3旋转木马_动力节点Java学院整理
2017/07/12 HTML / CSS
中国综合网上购物商城:苏宁易购
2016/08/09 全球购物
美国中西部家用医疗设备商店:Med Mart(轮椅、踏板车、升降机等)
2019/04/26 全球购物
仓库管理制度
2014/01/21 职场文书
幸福家庭事迹材料
2014/02/03 职场文书
职工运动会感言
2014/02/07 职场文书
小松树教学反思
2014/02/11 职场文书
一年级语文教学反思
2014/02/13 职场文书
机械设计及其自动化求职推荐信
2014/02/17 职场文书
创建市级文明单位实施方案
2014/03/01 职场文书
高中语文课后反思
2014/04/27 职场文书
旅游专业毕业生自荐书
2014/06/30 职场文书
小孩不笨观后感
2015/06/03 职场文书
高中开学感言
2015/08/01 职场文书
赞美教师的句子
2019/09/02 职场文书
一篇文章带你掌握SQLite3基本用法
2022/06/14 数据库