// 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: 1997, // 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 } }