鍍金池/ 問答/HTML/ React打包發(fā)布之后項目接口還需要跨域設置嗎?怎么設置?

React打包發(fā)布之后項目接口還需要跨域設置嗎?怎么設置?

React在本地運行的時候會設置代理解決跨域問題
webpack.dev.js

 var server = new WebpackDevServer(compiler, {
    hot: hot,
    inline: true,
    compress: true,
    disableHostCheck: true,
    host: serviceList.host,
    stats: {
        chunks: false,
        children: false,
        colors: true
    },
    historyApiFallback: true,
    proxy: {
        '/job': {
            target: 'https://api.xxx.com',
            changeOrigin: true
        },
        '/member': {
            target: 'https://api.xxx.com',
            changeOrigin: true
        }
    }
});

webpack.produce.js

 var webpack = require('webpack');
var config = require('./webpack.config.js');

var compiler = webpack(config);

function callback(err, stats) {
    if (err) {
        console.log(err);
    } else {
        console.log(stats.toString({
            colors: true,
            chunks: false,
            children: false
        }));
    }
}

compiler.run(callback);

react調(diào)用接口的代碼

 // 獲取圖片驗證碼
    toggleImgFn () {
        let URL = 'member/company/captcha-image'
        let _th = this
        getRequest(true, URL, {}).then(function (res) {
            let code = res.code
            if (code === 0) {
                let data = res.data
                _th.setState({
                    captchaCode: data.captchaCode,
                    picBase64: data.pic
                })
            } else {
                message.error('系統(tǒng)錯誤!')
            }
        })
    },

封裝的ajax請求

 let getRequest = (async, url, data) => {
    console.log(url)
    uuid = window.localStorage.getItem('sessionUuid')
    return new Promise(function (resolve, reject) {
        $.ajax({
            type: 'GET',
            async: async,
            url: url,
            data: data,
            headers: {
                Authorization: uuid === null ? '' : `DingYi ${uuid}`
            },
            success: function (response) {
                resolve(response)
            },
            error: function (err) {
                reject(err)
            }
        })
    })
}

但是我打包好項目放到自己電腦的apache服務器上時,這個接口訪問不到
圖片描述
請問哪位大神有解決辦法

回答
編輯回答
汐顏

生產(chǎn)環(huán)境 用nginx做靜態(tài)服務器

2017年8月28日 00:37