123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113 |
- const { defineConfig } = require('@vue/cli-service')
- const webpack = require('webpack')
- const cdn = {
- css: [
- // '//unpkg.com/element-ui@2.10.1/lib/theme-chalk/index.css'
- ],
- js: [
- '//cdn-common.jianyu360.com/cdn/lib/vue/2.6.14/vue.runtime.min.js',
- '//cdn-common.jianyu360.com/cdn/lib/vue-router/3.1.5/vue-router.min.js',
- '//cdn-common.jianyu360.com/cdn/lib/vuex/3.4.0/vuex.min.js',
- '//cdn-common.jianyu360.com/cdn/lib/axios/0.19.2/axios.min.js',
- '//cdn-common.jianyu360.com/cdn/lib/js-cookie/2.2.1/js.cookie.min.js',
- '//cdn-common.jianyu360.com/cdn/lib/moment/2.29.1/min/moment.min.js'
- ]
- }
- const externals = {
- vue: 'Vue',
- 'vue-router': 'VueRouter',
- vuex: 'Vuex',
- axios: 'axios',
- 'js-cookie': 'Cookies',
- moment: 'moment'
- }
- module.exports = defineConfig({
- publicPath: process.env.VUE_APP_BASE_URL,
- outputDir: 'page_pc_social',
- transpileDependencies: true,
- lintOnSave: true,
- productionSourceMap: false,
- devServer: {
- port: '8080',
- open: false,
- client: {
- overlay: {
- errors: true,
- warnings: false
- }
- },
- historyApiFallback: true,
- proxy: {
- '^/jyapi': {
- target: 'https://jybx3-webtest.jydev.jianyu360.com/',
- changeOrigin: true,
- logLevel: 'debug'
- },
- '^/publicapply': {
- target: 'https://jybx3-webtest.jydev.jianyu360.com/',
- changeOrigin: true,
- logLevel: 'debug'
- },
- '^/entbase': {
- target: 'https://jybx3-webtest.jydev.jianyu360.com/',
- changeOrigin: true,
- logLevel: 'debug'
- },
- '^/bigmember': {
- target: 'https://jybx3-webtest.jydev.jianyu360.com/',
- changeOrigin: true,
- logLevel: 'debug'
- },
- '^/aiChat': {
- target: 'https://jybx3-webtest.jydev.jianyu360.com/',
- changeOrigin: true,
- logLevel: 'debug'
- },
- '^/jypay': {
- target: 'https://jybx3-webtest.jydev.jianyu360.com/',
- changeOrigin: true,
- logLevel: 'debug'
- }
- }
- },
- css: {
- loaderOptions: {
- sass: {
- additionalData: '@import "@/assets/style/_mixin.scss";@import "@/assets/style/_variables.scss";'
- }
- }
- },
- chainWebpack: config => {
- if (process.env.NODE_ENV === 'production') {
- // 生产环境配置
- config.externals(externals)
- 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
- })
- }
- config.plugin('provide').use(webpack.ProvidePlugin,[{
- 'window.Quill': 'quill/dist/quill.js',
- 'Quill': 'quill/dist/quill.js'
- }])
- },
- pwa: {
- iconPaths: {
- favicon32: 'favicon.ico',
- favicon16: 'favicon.ico',
- appleTouchIcon: 'favicon.ico',
- maskIcon: 'favicon.ico',
- msTileImage: 'favicon.ico'
- }
- }
- })
|