| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136 | 
							- const path = require('path')
 
- const webpack = require('webpack')
 
- const createThemeColorReplacerPlugin = require('./config/plugin.config')
 
- function resolve (dir) {
 
-   return path.join(__dirname, dir)
 
- }
 
- /**
 
-  * check production or preview(pro.loacg.com only)
 
-  * @returns {boolean}
 
-  */
 
- function isProd () {
 
-   return process.env.NODE_ENV === 'production'
 
- }
 
- // 项目部署基础
 
- // 默认情况下,我们假设你的应用将被部署在域的根目录下,
 
- // 例如:https://www.my-app.com/
 
- // 默认:'/'
 
- // 如果您的应用程序部署在子路径中,则需要在这指定子路径
 
- // 例如:https://www.foobar.com/my-app/
 
- // 需要将它改为'/my-app/'
 
- const BASE_URL = isProd ? '/' : '/'
 
- const assetsCDN = {
 
-   css: [],
 
-   // https://unpkg.com/browse/vue@2.6.10/
 
-   js: [
 
-     BASE_URL + 'js/vue.min.js',
 
-     BASE_URL + 'js/vue-router.min.js',
 
-     BASE_URL + 'js/vuex.min.js',
 
-     BASE_URL + 'js/axios.min.js'
 
-   ]
 
- }
 
- // webpack build externals
 
- const prodExternals = {
 
-   vue: 'Vue',
 
-   'vue-router': 'VueRouter',
 
-   vuex: 'Vuex',
 
-   axios: 'axios'
 
- }
 
- // vue.config.js
 
- const vueConfig = {
 
-   runtimeCompiler: true, // 动态编译组件
 
-   publicPath: BASE_URL,
 
-   configureWebpack: {
 
-     // webpack plugins
 
-     plugins: [
 
-       // Ignore all locale files of moment.js
 
-       new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/)
 
-     ],
 
-     // if prod is on, add externals
 
-     externals: isProd() ? prodExternals : {},
 
-   },
 
-   chainWebpack: (config) => {
 
-     config.resolve.alias
 
-       .set('@$', resolve('src'))
 
-     const svgRule = config.module.rule('svg')
 
-     svgRule.uses.clear()
 
-     svgRule
 
-       .oneOf('inline')
 
-       .resourceQuery(/inline/)
 
-       .use('vue-svg-icon-loader')
 
-       .loader('vue-svg-icon-loader')
 
-       .end()
 
-       .end()
 
-       .oneOf('external')
 
-       .use('file-loader')
 
-       .loader('file-loader')
 
-       .options({
 
-         name: 'assets/[name].[hash:8].[ext]'
 
-       })
 
-     // if prod is on
 
-     // assets require on cdn
 
-     if (isProd()) {
 
-       config.plugin('html').tap(args => {
 
-         args[0].cdn = assetsCDN
 
-         return args
 
-       })
 
-     }
 
-   },
 
-   css: {
 
-     loaderOptions: {
 
-       less: {
 
-         modifyVars: {
 
-           // less vars锛宑ustomize ant design theme
 
-           'primary-color': process.env.VUE_APP_THEME_COLOR,
 
-           'link-color': process.env.VUE_APP_THEME_COLOR
 
-           // 'border-radius-base': '4px'
 
-         },
 
-         // do not remove this line
 
-         javascriptEnabled: true,
 
-       }
 
-     },
 
-   },
 
-   devServer: {
 
-     // development server port 8000
 
-     port: 8000,
 
-     // If you want to turn on the proxy, please remosve the mockjs /src/main.jsL11
 
-     proxy: {
 
-       '/api': {
 
-         // target: 'http://192.168.2.103:8602/ocs-admin',
 
-         // target: 'https://t.ocs.360arrow.com/ocs-admin', //  练习
 
-         target: 'https://p.ocs.360arrow.com/ocs-admin', //  预发布
 
-         ws: false,
 
-         changeOrigin: true,
 
-         pathRewrite: {
 
-           '^/api': ''
 
-         }
 
-       }
 
-     }
 
-   },
 
-   // disable source map in production
 
-   productionSourceMap: false,
 
-   assetsDir: 'static',
 
-   lintOnSave: undefined,
 
-   // babel-loader no-ignore node_modules/*
 
-   transpileDependencies: []
 
- }
 
- // preview.pro.loacg.com only do not use in your production;
 
- if (process.env.VUE_APP_PREVIEW === 'true') {
 
-   console.log('VUE_APP_PREVIEW', true)
 
-   // add `ThemeColorReplacer` plugin to webpack plugins
 
-   vueConfig.configureWebpack.plugins.push(createThemeColorReplacerPlugin())
 
- }
 
- module.exports = vueConfig
 
 
  |