zoukankan      html  css  js  c++  java
  • 后台模拟接口代理webpack实现

    Webpack使用后台代理开发入门

    在项目根目录下面新建main.js文件,show.js文件,package.json文件,webpack.config.js,main.css文件文件

    main.js文件内容如下:

    //引入css模块
    require('./main.css');
    import axios from 'axios'
    //引入js
    const show = require('./show.js');
    show('webpack');
    
    //后台的接口
    const URL = "/rest/plat/brmgr/v1/ui/baseinfo/products";
    axios.get(URL).then(res => {
        console.log(res)
    });
    

    show.js文件代码如下

    function show(content) {
        window.document.getElementById('app').innerHTML = 'Helloeee,' + content;
    }
    
    module.exports = show;
    

    package.json文件代码如下

    {
      "name": "webpack_Study",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
        "test": "echo "Error: no test specified" && exit 1",
        "start": "webpack --config webpack.config.js"
      },
      "keywords": [],
      "author": "",
      "license": "ISC",
      "devDependencies": {
        "css-loader": "^4.0.0",
        "extract-text-webpack-plugin": "^3.0.2",
        "style-loader": "^1.2.1",
        "webpack": "^4.44.0",
        "webpack-cli": "^3.3.12",
        "webpack-dev-server": "^3.11.0"
      },
      "dependencies": {
        "D": "^1.0.1",
        "axios": "^0.19.2"
      }
    }
    
    

    main.css文件如下

    #app{
        text-align: center;
    }
    

    webpack.config.js文件如下

    const path = require('path');
    const proxyInfo = require(`./proxy_config.json`);
    // const proxyList = ['/febs', '/unisess', '/rest', '/s', '/fonts', '/plugins', '/plat', '/eviewwebsite', '/fmwebsite', '/adminconsolewebsite', '/engrcommonwebsite'];
    const proxyList = ['/rest'];
    //rest开头的接口使用环境上模拟的后台接口
    module.exports = {
        // JS 执行入口文件
        entry: { main: './main.js', show: './show.js' },
        output: {
            // 把所有依赖的模块合并输出到一个 bundle.js 文件
            filename: '[name].js',
            // 输出文件都放到 dist 目录下
            path: path.resolve(__dirname, './dist'),
        },
        module: {
            rules: [
                {
                    // 用正则去匹配要用该 loader 转换的 css 文件
                    test: /.css$/,
                    loaders: ['style-loader', 'css-loader'],
                }
            ]
        },
        devServer: { // DevServer 相关的配置
            proxy: { // 代理到后端服务接口
                context: proxyList,
                target: `http://127.0.0.1:${proxyInfo.port}/localproxy`,
                changeOrigin: true,
            },
        }
    };
    
    

    在项目根目录下面新建proxy_config.json,内容如下

    {
        "port": 3333,
        "proxyConfig": [
            {
                "url": "https://9.2.23.67:31945/",
                "steps": [
                    [
                        "input",
                        "#username",
                        "admin"
                    ],
                    [
                        "input",
                        "#value",
                        "***"
                    ],
                    [
                        "click",
                        "#submitDataverify"
                    ]
                ],
                "title": "用户登陆"
            }
        ],
        "ignoreUrls": [
            "/smapp/v1/settings/loginmode",
            "/rest/adminhome/website/v1/sitecustom"
        ]
    }
    
  • 相关阅读:
    nginx主配置文件详解
    微信网页第三方登录原理
    QQ第三方登陆流程详解
    php垃圾回收机制
    mysql索引
    MySQL性能优化的最佳20+条经验
    MYSQL explain详解
    mysql分区功能详细介绍,以及实例
    MySQL分表、分区
    Redis主从读写分离配置
  • 原文地址:https://www.cnblogs.com/zdjBlog/p/13391899.html
Copyright © 2011-2022 走看看