webpack

webpack成神之路(六)

2019-05-15  本文已影响1人  AAA前端
  1. 现在我们来说一下访问接口的问题,处理跨越问题。
const express = require('express'); // webpack集成了express 不用单独安装

let app = express();

app.get('=/user', (req, res)=>{
    res.json({msg: '我是返回数据'})
})

app.listen(3000)

var ajax = new XMLHttpRequest();

ajax.open('get','http://localhost:3000/user');

ajax.send();

ajax.onreadystatechange = function () {
   if (ajax.readyState==4 &&ajax.status==200) {
    console.log(ajax.responseText);
    }
}

var ajax = new XMLHttpRequest();

ajax.open('get','/api/user');

ajax.send();

ajax.onreadystatechange = function () {
   if (ajax.readyState==4 &&ajax.status==200) {
    console.log(ajax.responseText);
    }
}
    devServer: {
        port: 3333,
        proxy:{
            '/api':{        // 匹配/api开头的接口
                target: 'http://localhost:3000', // 接口的域名
                pathRewrite: {
                    'api': ''    // 把api 替换为空
                }
            }            
        }
    },
  1. 还有一种情况,后端接口还没有开发好,我们前段自己mock数据。
var ajax = new XMLHttpRequest();

ajax.open('get','/user');

ajax.send();

ajax.onreadystatechange = function () {
   if (ajax.readyState==4 &&ajax.status==200) {
    console.log(ajax.responseText);
    }
}
      devServer: {
        port: 3333,
        // 提供的方法 钩子函数
        before(app){
            app.get('/user', (req, res)=>{
                res.json({msg: '我是被拦截的数据'})
            })
        }
        // proxy:{
        //     '/api':{        // 匹配/api开头的接口
        //         target: 'http://localhost:3000', // 接口的域名
        //         pathRewrite: {
        //             'api': ''    // 把api 替换为空
        //         }
        //     }            
        // }
    },
  1. 第三种情况,我们不想前后端分离,直接在服务端启动webpack,这样就不会存在跨越问题了。这样我们就直接在server.js中改造就行;
const express = require('express'); // webpack集成了express 不用单独安装

let app = express();

// 引入webpack
let webpack = require('webpack');

// 引入webpack中间件
let middle = require('webpack-dev-middleware');

// 引入配置文件
let config = require('./webpack.config.js');

// 处理配置文件
let complier = webpack(config);

// 启动webpack
app.use(middle(complier))

app.get('/user', (req, res)=>{
    res.json({msg: '我是返回数据'})
})

app.listen(3100)

上一篇 下一篇

猜你喜欢

热点阅读