vue.config.js 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. const cdn = {
  2. // 忽略打包的第三方库
  3. externals: {
  4. /* vue: 'Vue',
  5. vuex: 'Vuex',
  6. axios: 'axios',
  7. 'vue-router': 'VueRouter' */
  8. },
  9. // 通过cdn方式使用
  10. js: [
  11. /* 'https://cdn.bootcss.com/vue/2.6.12/vue.min.js',
  12. 'https://cdn.bootcss.com/vue-router/3.2.0/vue-router.min.js',
  13. 'https://cdn.bootcss.com/vuex/3.1.1/vuex.min.js',
  14. 'https://cdn.bootcss.com/axios/0.19.2/axios.min.js' */
  15. ],
  16. css: []
  17. }
  18. module.exports = {
  19. publicPath: './',
  20. devServer: {
  21. port: 8118,
  22. open: true,
  23. proxy: {
  24. '/api': {
  25. target: 'https://dapi.auyen.com',
  26. changeOrigin: true,
  27. pathRewrite: {
  28. '^/api': '/'
  29. }
  30. },
  31. '/baiduapi': {
  32. target: 'https://api.map.baidu.com/reverse_geocoding/v3/', // 'http://api.map.baidu.com/geocoder/v2/',
  33. changeOrigin: true,
  34. pathRewrite: {
  35. '^/baiduapi': '/'
  36. }
  37. }
  38. }
  39. },
  40. chainWebpack: config => {
  41. config.plugin('html').tap(args => {
  42. args[0].cdn = cdn
  43. return args
  44. })
  45. config.plugins.delete('preload')
  46. config.plugins.delete('prefetch')
  47. config.module
  48. .rule('images')
  49. .use('url-loader')
  50. .loader('url-loader')
  51. .tap(options => Object.assign(options, {
  52. limit: 10240
  53. })) // 配置图片Base64编码的阀值
  54. if (process.env.NODE_ENV !== 'development') {
  55. config.output.filename('js/[name].[contenthash].js').chunkFilename('js/[name].[contenthash].js').end()
  56. }
  57. },
  58. // 打包忽略第三方库
  59. configureWebpack: {
  60. externals: cdn.externals
  61. }
  62. }