129 lines
4.8 KiB
JavaScript
129 lines
4.8 KiB
JavaScript
// Template version: 1.2.6
|
||
// see http://vuejs-templates.github.io/webpack for documentation.
|
||
|
||
const path = require('path')
|
||
const os = require('os')
|
||
|
||
const networkInterfaces = os.networkInterfaces()
|
||
|
||
// const ip = networkInterfaces['WLAN'][1] ? networkInterfaces['WLAN'][1].address : networkInterfaces['WLAN'][0].address
|
||
const ip = '127.0.0.1'
|
||
module.exports = {
|
||
dev: {
|
||
// Paths
|
||
assetsSubDirectory: 'static',
|
||
assetsPublicPath: '/',
|
||
proxyTable: {
|
||
// 代理 /api/b1s 开头的请求
|
||
'/api/b1s': {
|
||
target: 'https://192.168.2.90:50000', // SAP B1 Service Layer 地址
|
||
changeOrigin: true, // 修改 Origin,让服务器认为是直接访问
|
||
secure: false, // ⚠️ 关键:忽略 HTTPS 证书验证(自签名证书可用)
|
||
pathRewrite: {
|
||
'^/api/b1s': '/b1s/v1' // 重写路径:/api/b1s/Login → /b1s/v1/Login
|
||
},
|
||
logLevel: 'debug',
|
||
// 可选:打印代理日志(调试用)
|
||
onProxyReq: (proxyReq, req, res) => {
|
||
console.log('Proxying request:', req.method, req.url);
|
||
},
|
||
onProxyRes: (proxyRes, req, res) => {
|
||
// 关键:移除 WWW-Authenticate 头,阻止浏览器弹窗
|
||
delete proxyRes.headers['www-authenticate'];
|
||
delete proxyRes.headers['WWW-Authenticate'];
|
||
}
|
||
},
|
||
'/openapi/v1':{
|
||
target: 'http://192.168.2.90:8082', // SAP B1 Service Layer 地址
|
||
changeOrigin: true, // 修改 Origin,让服务器认为是直接访问
|
||
secure: false, // ⚠️ 关键:忽略 HTTPS 证书验证(自签名证书可用)
|
||
pathRewrite: {
|
||
'^/api/tm': '/openapi/v1' // 重写路径:/api/b1s/Login → /b1s/v1/Login
|
||
},
|
||
logLevel: 'debug',
|
||
// 可选:打印代理日志(调试用)
|
||
onProxyReq: (proxyReq, req, res) => {
|
||
console.log('Proxying request:', req.method, req.url);
|
||
},
|
||
onProxyRes: (proxyRes, req, res) => {
|
||
// 关键:移除 WWW-Authenticate 头,阻止浏览器弹窗
|
||
delete proxyRes.headers['www-authenticate'];
|
||
delete proxyRes.headers['WWW-Authenticate'];
|
||
}
|
||
}
|
||
},
|
||
|
||
// Various Dev Server settings
|
||
host: ip, // can be overwritten by process.env.HOST
|
||
port: 1998, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
|
||
autoOpenBrowser: true,
|
||
errorOverlay: false,
|
||
notifyOnErrors: false,
|
||
poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
|
||
|
||
// Use Eslint Loader?
|
||
// If true, your code will be linted during bundling and
|
||
// linting errors and warnings will be shown in the console.
|
||
useEslint: false,
|
||
// If true, eslint errors and warnings will also be shown in the error overlay
|
||
// in the browser.
|
||
showEslintErrorsInOverlay: false,
|
||
|
||
/**
|
||
* Source Maps
|
||
*/
|
||
|
||
// https://webpack.js.org/configuration/devtool/#development
|
||
devtool: 'cheap-source-map',
|
||
|
||
// CSS Sourcemaps off by default because relative paths are "buggy"
|
||
// with this option, according to the CSS-Loader README
|
||
// (https://github.com/webpack/css-loader#sourcemaps)
|
||
// In our experience, they generally work as expected,
|
||
// just be aware of this issue when enabling this option.
|
||
cssSourceMap: false
|
||
},
|
||
|
||
build: {
|
||
// Template for index.html
|
||
index: path.resolve(__dirname, '../dist/index.html'),
|
||
|
||
// Paths
|
||
assetsRoot: path.resolve(__dirname, '../dist'),
|
||
assetsSubDirectory: 'static',
|
||
|
||
/**
|
||
* You can set by youself according to actual condition
|
||
* You will need to set this if you plan to deploy your site under a sub path,
|
||
* for example GitHub pages. If you plan to deploy your site to https://foo.github.io/bar/,
|
||
* then assetsPublicPath should be set to "/bar/".
|
||
* In most cases please use '/' !!!
|
||
*/
|
||
assetsPublicPath: '/',
|
||
|
||
/**
|
||
* Source Maps
|
||
*/
|
||
|
||
productionSourceMap: false,
|
||
// https://webpack.js.org/configuration/devtool/#production
|
||
devtool: 'source-map',
|
||
|
||
// Gzip off by default as many popular static hosts such as
|
||
// Surge or Netlify already gzip all static assets for you.
|
||
// Before setting to `true`, make sure to:
|
||
// npm install --save-dev compression-webpack-plugin
|
||
productionGzip: false,
|
||
productionGzipExtensions: ['js', 'css'],
|
||
|
||
// Run the build command with an extra argument to
|
||
// View the bundle analyzer report after build finishes:
|
||
// `npm run build --report`
|
||
// Set to `true` or `false` to always turn it on or off
|
||
bundleAnalyzerReport: process.env.npm_config_report || false,
|
||
|
||
// `npm run build:prod --generate_report`
|
||
generateAnalyzerReport: process.env.npm_config_generate_report || false
|
||
}
|
||
}
|