vue.config.js 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  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. }
  32. },
  33. chainWebpack: config => {
  34. config.plugin('html').tap(args => {
  35. args[0].cdn = cdn
  36. return args
  37. })
  38. config.plugins.delete('preload')
  39. config.plugins.delete('prefetch')
  40. config.module
  41. .rule('images')
  42. .use('url-loader')
  43. .loader('url-loader')
  44. .tap(options => Object.assign(options, {
  45. limit: 10240
  46. })) // 配置图片Base64编码的阀值
  47. if (process.env.NODE_ENV !== 'development') {
  48. config.output.filename('js/[name].[contenthash].js').chunkFilename('js/[name].[contenthash].js').end()
  49. }
  50. },
  51. // 打包忽略第三方库
  52. configureWebpack: {
  53. externals: cdn.externals
  54. }
  55. }