Browse Source

feat: 优化开发配置

zhangyuhan 3 years ago
parent
commit
a156f600f8
4 changed files with 123 additions and 72 deletions
  1. 23 0
      config/cdn.js
  2. 8 0
      config/index.js
  3. 87 0
      config/proxy.js
  4. 5 72
      vue.config.js

+ 23 - 0
config/cdn.js

@@ -0,0 +1,23 @@
+exports.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'
+  ]
+}

+ 8 - 0
config/index.js

@@ -0,0 +1,8 @@
+const { cdn } = require('./cdn')
+const { getProxyOfDomain, getProxyOfIp } = require('./proxy')
+
+module.exports = {
+  cdn,
+  getProxyOfDomain,
+  getProxyOfIp
+}

+ 87 - 0
config/proxy.js

@@ -0,0 +1,87 @@
+exports.getProxyOfDomain = function (domain) {
+  return {
+    // 反爬虫接口代理
+    // '/subVipPortrait/winner': {
+    //   target: domain,
+    //   changeOrigin: true,
+    //   logLevel: 'debug'
+    // },
+    '^/bigmember': {
+      target: domain,
+      changeOrigin: true,
+      logLevel: 'debug',
+      pathRewrite: {
+        '^/bigmember': '/bigmember'
+      }
+    },
+    '^/jypay': {
+      target: domain,
+      changeOrigin: true,
+      logLevel: 'debug'
+    },
+    '^/publicapply': {
+      target: domain,
+      changeOrigin: true,
+      logLevel: 'debug'
+    },
+    '^/subscribepay': {
+      target: domain,
+      changeOrigin: true,
+      logLevel: 'debug'
+    },
+    '^/salesLeads': {
+      target: domain,
+      changeOrigin: true,
+      logLevel: 'debug'
+    },
+    '^/privatedata': {
+      target: domain,
+      changeOrigin: true,
+      logLevel: 'debug'
+    }
+  }
+}
+
+exports.getProxyOfIp = function (ip) {
+  return {
+    // 反爬虫接口代理
+    // '/subVipPortrait/winner': {
+    //   target: ip + ':8800',
+    //   changeOrigin: true,
+    //   logLevel: 'debug'
+    // },
+    '^/bigmember': {
+      target: ip + ':814',
+      changeOrigin: true,
+      logLevel: 'debug',
+      pathRewrite: {
+        '^/bigmember': '/bigmember'
+      }
+    },
+    '^/jypay': {
+      target: ip + ':86',
+      changeOrigin: true,
+      logLevel: 'debug'
+    },
+    '^/publicapply': {
+      target: ip + ':828',
+      changeOrigin: true,
+      logLevel: 'debug'
+    },
+    '^/subscribepay': {
+      target: ip + ':86',
+      changeOrigin: true,
+      logLevel: 'debug'
+    },
+    '^/salesLeads': {
+      target: ip + ':8881',
+      changeOrigin: true,
+      logLevel: 'debug'
+    },
+    '^/privatedata': {
+      target: ip + ':829',
+      changeOrigin: true,
+      logLevel: 'debug'
+    }
+  }
+}

+ 5 - 72
vue.config.js

@@ -1,27 +1,4 @@
-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'
-  ]
-}
-
+const { cdn, getProxyOfDomain, getProxyOfIp } = require('./config')
 module.exports = {
   parallel: false,
   productionSourceMap: false,
@@ -29,55 +6,11 @@ module.exports = {
   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'
-      },
-      '^/privatedata': {
-        // target: 'https://web2-jytest.jydev.jianyu360.com',
-        target: 'http://127.0.0.1:829',
-        changeOrigin: true,
-        logLevel: 'debug'
-      }
-    }
+    headers: {
+      'Access-Control-Allow-Origin': '*'
+    },
+    proxy: getProxyOfDomain('https://web2-jytest.jydev.jianyu360.com') || getProxyOfIp('http://127.0.0.1')
   },
   css: {
     loaderOptions: {