const cdn = { css: [ // '//unpkg.com/element-ui@2.10.1/lib/theme-chalk/index.css' ], jsdelivr: [ '//cdn.jsdelivr.net/npm/vue@2.6.11/dist/vue.min.js', '//cdn.jsdelivr.net/npm/vue-router@3.1.5/dist/vue-router.min.js', '//cdn.jsdelivr.net/npm/vuex@3.4.0/dist/vuex.min.js', '//cdn.jsdelivr.net/npm/axios@0.19.2/dist/axios.min.js', '//cdn.jsdelivr.net/npm/echarts@4.8.0/dist/echarts.min.js', '//cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js', '//cdn.jsdelivr.net/npm/moment@2.29.1/moment.min.js' ], js: [ '//cdn-common.jianyu360.cn/cdn/lib/vue/2.6.11/vue.min.js', '//cdn-common.jianyu360.cn/cdn/lib/vue-router/3.1.5/vue-router.min.js', '//cdn-common.jianyu360.cn/cdn/lib/vuex/3.4.0/vuex.min.js', '//cdn-common.jianyu360.cn/cdn/lib/axios/0.19.2/axios.min.js', '//cdn-common.jianyu360.cn/cdn/lib/echarts/4.8.0/echarts.min.js', '//cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js', '//cdn.jsdelivr.net/npm/moment@2.29.1/moment.min.js' ] } module.exports = { parallel: false, productionSourceMap: false, outputDir: 'page_big_pc', publicPath: process.env.VUE_APP_BASE_PUBLIC, lintOnSave: true, devServer: { port: '8080', disableHostCheck: true, proxy: { // 反爬虫接口代理 // '/subVipPortrait/winner': { // target: 'http://192.168.20.178:8800', // changeOrigin: true, // logLevel: 'debug' // }, '^/bigmember': { // target: 'https://web2-jytest.jydev.jianyu360.com', target: 'http://127.0.0.1:814', changeOrigin: true, logLevel: 'debug', pathRewrite: { '^/bigmember': '/bigmember' } }, '^/jypay': { // target: 'https://web2-jytest.jydev.jianyu360.com', target: 'http://127.0.0.1:86', changeOrigin: true, logLevel: 'debug' }, '^/publicapply': { // target: 'https://web2-jytest.jydev.jianyu360.com', target: 'http://127.0.0.1:828', changeOrigin: true, logLevel: 'debug' }, '^/subscribepay': { // target: 'https://web2-jytest.jydev.jianyu360.com', target: 'http://127.0.0.1:86', changeOrigin: true, logLevel: 'debug' }, '^/salesLeads': { // target: 'https://web2-jytest.jydev.jianyu360.com', target: 'http://127.0.0.1:8881', changeOrigin: true, logLevel: 'debug' } } }, css: { loaderOptions: { sass: { prependData: '@import "@/assets/style/_mixin.scss";@import "@/assets/style/_variables.scss";' } } }, chainWebpack: config => { // single-spa if (!process.env.VUE_APP_ALONE) { config.devServer.set('inline', false) config.devServer.set('hot', true) if (process.env.NODE_ENV === 'production') { config.externals([ 'vue', 'vue-router', 'vuex', 'axios', 'lodash', 'moment' ]) config.plugin('html').tap(args => { // html中添加cdn args[0].cdn = cdn return args }) } else { config.output.filename('js/[name].js') } } // 分析静态资源 if (process.env.use_analyzer) { config .plugin('webpack-bundle-analyzer') .use(require('webpack-bundle-analyzer').BundleAnalyzerPlugin) } }, filenameHashing: false }