vue.config.js 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. const path = require('path');
  2. const CompressionPlugin = require('compression-webpack-plugin');
  3. module.exports = {
  4. publicPath: `/${process.env.VUE_APP_ROUTER}`,
  5. // 打包文件
  6. outputDir: `${process.env.VUE_APP_ROUTER}`,
  7. productionSourceMap: false,
  8. configureWebpack: (config) => {
  9. Object.assign(config, {
  10. // 开发生产共同配置
  11. resolve: {
  12. extensions: ['.js', '.json', '.vue'],
  13. alias: {
  14. '@': path.resolve(__dirname, './src'),
  15. '@c': path.resolve(__dirname, './src/components'),
  16. '@a': path.resolve(__dirname, './src/assets'),
  17. },
  18. },
  19. });
  20. // config.entry.app = ['@babel/polyfill', './src/main.js'];
  21. // if (process.env.NODE_ENV === 'production') {
  22. // //生产环境
  23. // config.plugins.push(
  24. // new CompressionPlugin({
  25. // /* [file]被替换为原始资产文件名。
  26. // [path]替换为原始资产的路径。
  27. // [dir]替换为原始资产的目录。
  28. // [name]被替换为原始资产的文件名。
  29. // [ext]替换为原始资产的扩展名。
  30. // [query]被查询替换。*/
  31. // filename: '[path].gz[query]',
  32. // //压缩算法
  33. // algorithm: 'gzip',
  34. // //匹配文件
  35. // test: /\.js$|\.css$|\.html$/,
  36. // //压缩超过此大小的文件,以字节为单位
  37. // threshold: 10240,
  38. // minRatio: 0.8,
  39. // //删除原始文件只保留压缩后的文件
  40. // //deleteOriginalAssets: false
  41. // })
  42. // );
  43. // config.externals = {
  44. // vue: 'Vue',
  45. // 'vue-router': 'VueRouter',
  46. // vuex: 'Vuex',
  47. // axios: 'axios',
  48. // moment: 'moment',
  49. // lodash: '_',
  50. // vant: 'vant',
  51. // };
  52. // }
  53. },
  54. chainWebpack: (config) => {
  55. // 其他配置
  56. config.entry('main').add('babel-polyfill'); // main是入口js文件
  57. // 其他配置
  58. },
  59. devServer: {
  60. port: '9800',
  61. //api地址前缀
  62. proxy: {
  63. '/files': {
  64. target: 'http://broadcast.waityou24.cn',
  65. },
  66. '/wxgateway': {
  67. target: 'http://broadcast.waityou24.cn', //http://192.168.1.19:9101
  68. changeOrigin: true,
  69. ws: false,
  70. },
  71. '/api': {
  72. target: 'http://192.168.1.19:9901', //http://192.168.1.19:9101
  73. changeOrigin: true,
  74. ws: false,
  75. },
  76. },
  77. },
  78. };