首页 / 浏览问题 / WebGIS / 问题详情
linux上iserver数据请求
34EXP 2023年09月12日

这是我vue.config.js中的配置
 

const {defineConfig} = require('@vue/cli-service')
const {resolve} = require('path')

module.exports = defineConfig({
    publicPath:"./",
	outputDir: 'dist',
    transpileDependencies: true,
    devServer: {
        // historyApiFallback: true,
        // allowedHosts: "all",
        proxy: {
            '/supermap': {
                target: 'http://127.0.0.1:8090/iserver/services/',
                changeOrigin: true,
                pathRewrite: {
                    '^/supermap': ''
                }
            }

        }
    },
    configureWebpack: {
        resolve: {
            alias: {
                '@': resolve('src')
            }
        },
    }
});

我在项目中的url为

现在我已经在linux服务器上部署好了iserver并且发布了地图和数据服务,我将我的项目打包后通过nginx代理也部署在这台服务器上了

但是为什么我访问项目后里边的数据没有请求到呢

1个回答

你好,在linux上部署的iserver发布的服务能正常访问吗?原始项目额能否正常加载?

地图没有加载出来,f12看看是否有报错信息,看看地图资源是否请求。
1,865EXP 2023年09月12日

linux上部署的iserver可以在浏览器中访问到,然后使用服务器上的iserver请求获取的地图在原始项目中可以加载出来,但是打包部署在服务器上就有问题了,通过这个来进行代理会出问题,

devServer: {
        // historyApiFallback: true,
        // allowedHosts: "all",
        proxy: {
            '/supermap': {
                target: 'http://192.168.10.128:8090/iserver/services',
                changeOrigin: true,
                pathRewrite: {
                    '^/supermap': ''
                }
            }

        }
    },

如果直接在url里输的完整的地址,譬如

http://192.168.10.128:8090/iserver/services/map-ugcv5-SiChuanMap/rest/maps/SiChuanMap打包之后,这个地址上对应的数据能够请求到,主要是我对这个vue.config.js中的配置项不太清楚

在vue.config.js中配置的devServer.proxy只是在开发环境下进行代理,如果是打包的话,可能还需要在nginx中配置,

具体可以参考一下博客:https://www.cnblogs.com/Im-Victor/p/17483711.html

https://blog.csdn.net/PhilsphyPrgram/article/details/131723597

...