const packageName = require('./package.json').name const webpack = require('webpack') const { cdn, getProxyOfDomain, getProxyOfIp } = require('./config') const external = { vue: 'Vue', 'vue-router': 'VueRouter', vuex: 'Vuex', axios: 'axios', lodash: '_', // 解决画像visualMap不显示问题 // echarts: 'echarts', // moment: 'moment', jquery: '$' } module.exports = { productionSourceMap: false, outputDir: 'page_big_pc', publicPath: process.env.VUE_APP_BASE_PUBLIC, lintOnSave: true, devServer: { disableHostCheck: true, proxy: { // 反爬虫接口代理 // '/subVipPortrait/winner': { // target: 'http://192.168.20.178:8800', // changeOrigin: true, // logLevel: 'debug' // }, '^/bigmember': { // target: 'https://jybx2-webtest.jydev.jianyu360.com', target: 'http://192.168.3.240:814', changeOrigin: true, logLevel: 'debug', pathRewrite: { '^/bigmember': '/bigmember' } }, '^/jypay': { // target: 'https://jybx2-webtest.jydev.jianyu360.com', target: 'http://192.168.3.240:86', changeOrigin: true, logLevel: 'debug' }, '^/publicapply': { // target: 'https://jybx2-webtest.jydev.jianyu360.com', target: 'http://192.168.3.240:828', changeOrigin: true, logLevel: 'debug' }, '^/subscribepay': { target: 'https://jybx2-webtest.jydev.jianyu360.com', // target: 'http://127.0.0.1:86', changeOrigin: true, logLevel: 'debug' }, '^/salesLeads': { target: 'https://jybx3-webtest.jydev.jianyu360.com', // target: 'http://127.0.0.1:8881', changeOrigin: true, logLevel: 'debug' }, '^/privatedata': { target: 'https://jybx3-webtest.jydev.jianyu360.com', // target: 'http://127.0.0.1:829', changeOrigin: true, logLevel: 'debug' }, '^/jyCoupon': { target: 'https://jybx3-webtest.jydev.jianyu360.com', // target: 'http://127.0.0.1:829', changeOrigin: true, logLevel: 'debug' }, '^/jymessageCenter': { target: 'https://jybx3-webtest.jydev.jianyu360.com', // target: 'http://127.0.0.1:829', changeOrigin: true, logLevel: 'debug' }, '^/entbase': { target: 'https://jybx3-webtest.jydev.jianyu360.com', // target: 'http://127.0.0.1:829', changeOrigin: true, logLevel: 'debug' }, '^/userCenter': { target: 'https://jybx3-webtest.jydev.jianyu360.com', // target: 'http://127.0.0.1:829', changeOrigin: true, logLevel: 'debug' }, '^/entnicheNew': { target: 'https://jybx3-webtest.jydev.jianyu360.com', // target: 'http://127.0.0.1:829', changeOrigin: true, logLevel: 'debug' }, '^/jyCoupon': { // target: 'https://jybx2-webtest.jydev.jianyu360.com', target: 'http://192.168.3.240:827', changeOrigin: true, logLevel: 'debug' }, '^/marketing': { // target: 'https://jybx2-webtest.jydev.jianyu360.com', target: 'http://192.168.3.240:8077', changeOrigin: true, logLevel: 'debug', // pathRewrite: { // '': '/jyapi' // } } }, headers: { 'Access-Control-Allow-Origin': '*' } // proxy: getProxyOfDomain('https://web2-jytest.jydev.jianyu360.com') || getProxyOfIp('http://127.0.0.1') }, css: { loaderOptions: { sass: { prependData: '@import "@/assets/style/_mixin.scss";@import "@/assets/style/_variables.scss";' } } }, chainWebpack: config => { // single-spa if (!process.env.VUE_APP_ALONE) { if (process.env.NODE_ENV === 'production') { // 生产环境配置 config.externals(external) config.plugin('html').tap(args => { // html中添加cdn args[0].cdn = cdn return args }) config.optimization.minimize(true) .minimizer('terser') .tap(args => { const { terserOptions } = args[0] terserOptions.compress.drop_console = true terserOptions.compress.drop_debugger = true return args }) } else { config.devServer.set('inline', false) config.devServer.set('hot', true) } } // 分析静态资源 if (process.env.use_analyzer) { config .plugin('webpack-bundle-analyzer') .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin) } }, configureWebpack: { output: { library: 'bigMemberSubApp', libraryTarget: 'umd', jsonpFunction: `webpackJsonp_${packageName}` }, plugins: [ new webpack.ProvidePlugin({ jQuery: 'jquery', $: 'jquery' }) ] } }