Appearance

vue.config.js 常用配置.md

coderzhouyujavascriptjs工具函数

配置CDN

const isProd = process.env.NODE_ENV === 'production'

const assetsCDN = {
  externals: {
    vue: 'Vue',
    'vue-router': 'VueRouter',
    vuex: 'Vuex',
    axios: 'axios'
  },
  css: [],
  js: [
    '//cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.min.js',
    '//cdn.jsdelivr.net/npm/vue-router@3.1.3/dist/vue-router.min.js',
    '//cdn.jsdelivr.net/npm/vuex@3.1.1/dist/vuex.min.js',
    '//cdn.jsdelivr.net/npm/axios@0.19.0/dist/axios.min.js'
  ]
}
const vueConfig = {
  configureWebpack: {
    // if prod, add externals
    externals: isProd ? assetsCDN.externals : {}
  },
  chainWebpack: (config) => {
  	// assets require on cdn
    if (isProd) {
      config.plugin('html').tap(args => {
        args[0].cdn = assetsCDN
        return args
      })
    }
  }
  ...
}

定义全局变量

const vueConfig = {
  configureWebpack: {
			plugins: [ 
			 // 这里定义后就可以全局直接使用了
       new webpack.DefinePlugin({
         APP_VERSION: `"${require('./package.json').version}"`,
         GIT_HASH: JSON.stringify(getGitHash()),
         BUILD_DATE: buildDate
       })
    ],
  },
}
Last Updated 2023/10/4 18:14:38